2012-06-28 28 views
0

我有一些关于asp.net web应用程序的问题。 使用sql server会话状态的Web应用程序。 注销事件会话删除,但按标题栏关闭按钮想要删除会话。 按下标题栏关闭按钮时,哪些事件可以控制。 我读了关于session_end事件可以赶上时按标题栏关闭按钮。 但是不能使用sql server会话状态产生session_end事件。 如何捕捉?如何捕捉会话结束时按标题栏关闭按钮asp.net c#

回答

0

关闭浏览器不会结束服务器上的会话,服务器无法区分打开或关闭的浏览器,它只是接收请求,然后发送响应并坐在那里等待另一个请求。在没有请求的一段时间之后,会话将超时并且会运行session_end事件。

如果您想结束会话,当您关闭浏览器以便知道服务器结束会话时,必须将某种ajax请求发送回服务器。

编辑

,你可以使用jQuery

$(window).unload(function() { 
    $.post('someurl'); 
}); 

与Web服务,处理程序或MVC控制器动作或类似的网址,告诉浏览器已被更换服务器someurl做这样的事情关闭。

然后服务器端你只是做

Session.Abandon(); 
+0

是的,我想知道简单 – Stuart