11智能在线
新记
asp.net(c#)如何实现关闭浏览器时消除session
一个用户可以打开一个网站的多个网页,如何实现用户将此网站的网页全部关闭时,在从服务器在线人数中取消用户在线session!
举报该文章
相关建议 推荐于2016-04-27
好像不能,只能等待session超时之后。。
原因:
1:服务器端无法检测到用户对浏览器的操作,服务器端虽然有Session_End事件,但是这个事件并不是浏览器关闭的时候触发...还是要等到session超时才出发。
2:虽然JavaScript可以检测到浏览器的关闭,但是却不能检测出本网站的其他页面是否关闭,况且客户端远比我们想想的复杂,浏览器进程突然中止,网络中断,死机等等,JavaScript都不可能会触发,所以通过JavaScript检测浏览器的关闭,在实际应用中达不到效果
3:除非你在你网站的每个页面里加上一个动作,通过ajax每隔几秒钟向服务器发送一次请求,用来保持session,超过时间服务器没有收到请求的话session自动超时
4:好像真没什么办法
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/fpv482ss4.html
其他看法
第1个回答 2009-11-24
默认0
打开的时候window.onload js记录窗口+1
在卸载的时候onunload js记录窗口-1, 当为0的时候,通过js去访问一次消除session的页面.
第2个回答 2009-11-24
Global.asa
增加Session_End事件,里面处理
相似回答
大家正在搜
相关问题
在ASP中如何在用户关闭页面后自动清除SESSION?
asp.net中如何及时清除session
怎么在关闭aspnet的页面后让session的值清空吧
asp.net如何实现登陆后直接关闭页面时能让session...
如何在关闭页面时清空session
asp.net怎么让session只在浏览器关闭时失效
asp.net退出时关闭session并重定向