В моем проекте ASP.NET, я использую «» InProc состояния сеанса для управления сеансами и текущего истечения устанавливается как -ASP.NET «InProc» - выполнить код яваскрипта в конце
<sessionState mode="InProc" timeout="1" ></sessionState>
т.е. тайм-аут сеанса составляет 1 минуту.
В конце «простоя» 1 минуту приложение перенаправляется на просмотр или страницу с истекшим сроком действия.
Прежде чем это перенаправление произойдет, я хочу выполнить код javascript в том же контексте контроллера. Еще один момент заключается в том, что код истечения срока действия сеанса вызывается из других мест, кроме встроенного механизма фрейма.
Я попытался создать функцию «опрос» javascript, чтобы проверить тайм-аут сеанса, а затем выполнить что-то при аннулировании сеанса, но то, что это делает, заключается в повторной проверке сеанса каждый раз, когда выполняется вызов xhr.
Основная идея состоит в том, чтобы код javascript был проинформирован о тайм-ауте сеанса через какой-либо механизм. База кода является существующей и довольно большой для нового .NET-разработчика, такого как я, чтобы понять.
Любая помощь приветствуется.
Если вы вступаете в какое-либо взаимодействие с сервером в течение текущего сеанса, сеанс всегда будет расширяться. Все это должно произойти на клиенте без вызова сервера – haraman
Взгляните на событие '' onbeforeunload' '(http://www.w3schools.com/jsref/event_onbeforeunload.asp). Это может быть то, что вам нужно. –
@haraman - вы правы. Любой вызов сервера продлевает сеанс. Чтобы сделать все это на клиенте, мне пришлось бы ввести логику проверки «без дела» на клиенте, что в дополнение к тому, что сервер уже делает. Не уверен, что это правильное решение. – FrailWords