asp.net(c#)如何实现关闭浏览器时消除session

一个用户可以打开一个网站的多个网页,如何实现用户将此网站的网页全部关闭时,在从服务器在线人数中取消用户在线session!

好像不能,只能等待session超时之后。。
原因:
1:服务器端无法检测到用户对浏览器的操作,服务器端虽然有Session_End事件,但是这个事件并不是浏览器关闭的时候触发...还是要等到session超时才出发。
2:虽然JavaScript可以检测到浏览器的关闭,但是却不能检测出本网站的其他页面是否关闭,况且客户端远比我们想想的复杂,浏览器进程突然中止,网络中断,死机等等,JavaScript都不可能会触发,所以通过JavaScript检测浏览器的关闭,在实际应用中达不到效果
3:除非你在你网站的每个页面里加上一个动作,通过ajax每隔几秒钟向服务器发送一次请求,用来保持session,超过时间服务器没有收到请求的话session自动超时
4:好像真没什么办法
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-24
默认0

打开的时候window.onload js记录窗口+1

在卸载的时候onunload js记录窗口-1, 当为0的时候,通过js去访问一次消除session的页面.
第2个回答  2009-11-24
Global.asa
增加Session_End事件,里面处理
相似回答