asp.net(c#)如何实现关闭浏览器时消除session
一个用户可以打开一个网站的多个网页,如何实现用户将此网站的网页全部关闭时,在从服务器在线人数中取消用户在线session!...
一个用户可以打开一个网站的多个网页,如何实现用户将此网站的网页全部关闭时,在从服务器在线人数中取消用户在线session!
展开
3个回答
展开全部
好像不能,只能等待session超时之后。。
原因:
1:服务器端无法检测到用户对浏览器的操作,服务器端虽然有Session_End事件,但是这个事件并不是浏览器关闭的时候触发...还是要等到session超时才出发。
2:虽然JavaScript可以检测到浏览器的关闭,但是却不能检测出本网站的其他页面是否关闭,况且客户端远比我们想想的复杂,浏览器进程突然中止,网络中断,死机等等,JavaScript都不可能会触发,所以通过JavaScript检测浏览器的关闭,在实际应用中达不到效果
3:除非你在你网站的每个页面里加上一个动作,通过ajax每隔几秒钟向服务器发送一次请求,用来保持session,超过时间服务器没有收到请求的话session自动超时
4:好像真没什么办法
原因:
1:服务器端无法检测到用户对浏览器的操作,服务器端虽然有Session_End事件,但是这个事件并不是浏览器关闭的时候触发...还是要等到session超时才出发。
2:虽然JavaScript可以检测到浏览器的关闭,但是却不能检测出本网站的其他页面是否关闭,况且客户端远比我们想想的复杂,浏览器进程突然中止,网络中断,死机等等,JavaScript都不可能会触发,所以通过JavaScript检测浏览器的关闭,在实际应用中达不到效果
3:除非你在你网站的每个页面里加上一个动作,通过ajax每隔几秒钟向服务器发送一次请求,用来保持session,超过时间服务器没有收到请求的话session自动超时
4:好像真没什么办法
展开全部
默认0
打开的时候window.onload js记录窗口+1
在卸载的时候onunload js记录窗口-1, 当为0的时候,通过js去访问一次消除session的页面.
打开的时候window.onload js记录窗口+1
在卸载的时候onunload js记录窗口-1, 当为0的时候,通过js去访问一次消除session的页面.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Global.asa
增加Session_End事件,里面处理
增加Session_End事件,里面处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询