用户在没有注销的情况下关闭浏览器时如何终止会话
我正在开发一个aspnet应用程序,因为我正在使用Sessions。 如果用户登录到应用程序并在此处单击注销,我将关闭会话。
假设用户没有点击注销并关闭浏览器。 用户在没有注销的情况下关闭浏览器时如何终止会话
非常困难的任务:
-
使用非常小的超时会话/你将有到期/
-
使用隐藏的脚本/ iframe来ping服务器/你将有连接/
-
在窗口中处理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... }
编辑:Web服务器无法知道您已关闭Web浏览器。