Как убить сессию, когда пользователь закрыл браузер без выхода
Я разрабатываю одно приложение aspnet, в котором я использую сеансы. если пользователь войдет в приложение и нажмете на выход, я закрываю сессию.
предположим, что если пользователь не нажимает на выход из системы и закрывает браузер. как убить сессию, когда пользователь закрыл браузер без выхода
3 ответа
Очень сложное задание:
использовать сеансы с очень маленьким тайм-аутом / у вас будет срок действия /
используйте скрытый скрипт /iframe для проверки связи с сервером / у вас будет соединение /
обрабатывать событие onunload в окне / можно обойти /
Пример кода:
window.onunload = function ()
{
if((window.event.clientX<0) && (window.event.clientY<0)) {
window.open("logoff.aspx");
}
}
Ваше приложение не сможет узнать, что пользователь закрыл браузер. Сессия будет закрыта на основе Session.Timeout
Если пользователь не обновляет или не запрашивает страницу в течение периода ожидания, сеанс заканчивается.
Вы можете определить, что должно произойти, когда сеанс истекает в Global.asax.cs.
protected void Session_End(Object sender, EventArgs e)
{
// Do stuff here...
}
Изменить: веб-сервер не может знать, что вы закрыли веб-браузер.