У меня есть сайт, написанный на двух языках, классическом ASP и PHP. У меня есть система, позволяющая пользователю войти в систему на обоих языках, которая в основном включает ASP, запрашивающий PHP-скрипт эй, я вошел в систему? через Почту. В целом это работает довольно хорошо, но есть проблема, когда сеанс ASP иногда неожиданно завершается, но пользователь все еще находится в системе на стороне PHP.
Итак, что я пытаюсь сделать, это настроить файл ASP Global.asa
с подпрограммой Session_OnEnd
, которая перенаправляет на PHP-скрипт, который отключает пользователя от PHP. Таким образом, если сеанс ASP завершается, пользователь просто полностью выходит из системы, а не остается наполовину вошедшим в систему.
Это весь мой Global.asa
файл:
<!--METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.8 Library" UUID="{2A75196C-D9EB-4129-B803-931327F72D5C}" VERSION="2.8"-->
<script language="vbscript" runat="server">
sub Session_OnStart
Session.CodePage = 65001
Session.LCID = 1033
end sub
sub Session_OnEnd
Response.Redirect("/login.php?logout")
end sub
</script>
Короче перенаправление не работает. Я тестирую, запуская сценарий ASP, который делает Session.Abandon
. Сеанс завершается, но перенаправление не происходит.
Сервер IIS 10 работает на Windows Server 2016.
Любая идея, что я делаю неправильно?
ОБНОВЛЕНИЕ: я почти уверен, что Sub просто не запускается; и это не сбой самого перенаправления
runOnEndAnonymously="false"
вweb.config
не решило проблему. - person Stephen R   schedule 10.02.2021global.asa
. Вы открыты для различных решений? Могу глянуть в свободное время. Я немного помню методvia POST
из здесь. - person Kul-Tigin   schedule 10.02.2021Session.Abandon
- правильный способ проверить это? - person Stephen R   schedule 12.02.2021Response.Redirect
сработает в событии, вызываемом асинхронно. - person Kul-Tigin   schedule 12.02.2021test.asp
, содержащий<% Session.Abandon %>
- person Stephen R   schedule 12.02.2021Session_OnEnd
здесь асинхронный. Это не часть вашегоtest.asp
запроса, а просто расширение приложения ASP. - person Kul-Tigin   schedule 13.02.2021Response.Redirect
просто нельзя заставить работать внутриSession_OnEnd
? Итак (возможно) я правильно активирую сабвуфер, но эта конкретная команда там не сработает? Я видел несколько старых сообщений/статей в Интернете, где люди, кажется, сделали эту работу. - person Stephen R   schedule 13.02.2021Session_OnStart
,Session_OnEnd
запускается асинхронно. Статьи, которые вы видели, вероятно, содержат примеры для_OnStart
. Взгляните на Session_OnStart. Событие и Событие Session_OnEnd. И, пожалуйста, внимательно прочитайте определения. Вы поймете, как оба события работают по-разному. - person Kul-Tigin   schedule 13.02.2021Response
объект недоступен. Вот мой ответ. :-( Спасибо - person Stephen R   schedule 13.02.2021