我将在网站上添加一个“在线”计数器,但是我遇到了这两个相互矛盾的来源。
其中一个(我正在使用此示例代码):
其中一个(我正在使用此示例代码):
http://aspdotnetfaq.com/Faq/How-to-show-number-of-online-users-visitors-for-ASP-NET-website.aspx
...说:
当用户关闭浏览器或在我们的网站中没有点击任何链接时,会话过期,我们的“OnlineUsers”全局变量将减少。
然而,这个:
http://www.velocityreviews.com/forums/t383710-session-end-guarantee.html
...说:
关闭浏览器窗口或浏览到另一个网站不会立即引发Session_End事件 - 服务器绝对无法知道客户端机器上发生了什么,直到它从中获得另一个HttpRequest。在这种情况下,当会话自然超时时,Session_End将被触发。
我已经测试过,似乎Session_End并不会触发。
我基本上希望你们确认或评论一下这个问题。
是否可以在关闭浏览器时更新在线计数器?
onunload
或onbeforeunload
,但据我所知它们只在IE中有效... - Jesper