我有一个ASP.net页面.当我关闭网页时,我需要清除会话变量.
如何处理这个我需要将超时维持到20分钟.如果他在20分钟的超时时间内关闭并登录任意次数
是否有可能清除ASP.net会话ID
GvS*_*GvS 11
你不能这样做.
您无法控制最终用户的浏览器.用户可能关闭浏览器,崩溃,断开与Internet的连接,禁用或崩溃等等.或者用户可能只是输入另一个URL(之后用户可能会使用后退按钮返回到您的页面,并且期望继续他/她与您的网站的会话).
每次卸载页面时都会触发window.onbeforeunload.即使用户浏览您网站上的其他网页,他们也可能需要再次访问您的会话.
[编辑]正如其他人所建议的那样,你的会话应该最终超时,但如果你想在超时之前关闭会话(例如清理大型会话对象)并且有javascript可供你使用...
您可以使用window.onbeforeunload回发到注销页面的处理程序来执行此操作.
function CloseSession( )
{
location.href = 'SignOut.aspx';
}
window.onbeforeunload = CloseSession;
Run Code Online (Sandbox Code Playgroud)
你也可以通过AJAX来做.SignOut.aspx页面(或您正在使用的任何平台)应放弃用户的会话.