ASP.NET Почему событие session_end не вызывается, когда мы закрываем браузер? - PullRequest
1 голос
/ 01 сентября 2009

Почему событие session_end не вызывается, когда мы закрываем браузер?

Ответы [ 2 ]

7 голосов
/ 01 сентября 2009

Поскольку сеанс не заканчивается, когда браузер закрыт. Сеанс заканчивается, когда истекло время ожидания или он явно завершен на стороне сервера.

Закрытие браузера действительно не имеет ничего общего с подключением к серверу. Соединение уже установлено, как только страница полностью загружена (за исключением какого-то фанка ajax).

0 голосов
/ 01 сентября 2009

Silky имеет право, но вы можете попробовать вызвать метод onjay ajax, связанный с событием onbeforeunload, и на сервере вы можете обработать это событие. Но это, вероятно, будет не очень надежно и работает не во всех браузерах.

<body onbeforeunload="ClosingWindowAjaxEventHandler();">
...