首页 新闻 会员 周边 捐助

Global.asax的Session事件

0
悬赏园豆:50 [已关闭问题]

我利用Global.asax中的Session_Start事件进行访问总人数的添加

在本地测试时,只有新的会话Session_Start事件才触发

部署到服务器后,只要一访问服务器,Session_Start事件就触发

这样子导致了访问总人数数量完全不正确,请大家帮忙解决,谢谢

问题补充: 经过我反复测试,发现引发此问题的经过,但还是不知道原因,或者说不知道解决方式 引发经过:打开网站后->页面不关,等待Session闲置时间到达->刷新网页或点击其他地方,每次运行Session_Start后,都会运行Session_End,所以下来访问时,Session_Start又会运行
Fencer的主页 Fencer | 初学一级 | 园豆:7
提问于:2010-05-18 17:14
< >
分享
其他回答(1)
0

对于一个Session只会有Session_Start事件的,我不知道你是怎么知道每次都有触发。但是确实session通过一个aspnetsessionid的cookie保存标识的,不会有问题。

我想主要是如果关闭浏览器的话session_end是不会触发的,它需要等待session超时才执行(默认是20分钟),所有用这种方式统计数量要比事件多很多的。

LittlePeng | 园豆:3445 (老鸟四级) | 2010-05-18 18:52
我不是关闭浏览器,而是F5刷新或者点击其他地方,Session_Start就会再次执行(我在Global.asax中的Session_Start中设置断点查看的) 看看我的问题补充,如果Session时间没有到达时,一切正常,你可以通过改Windows的时间进行测试
支持(0) 反对(0) Fencer | 园豆:7 (初学一级) | 2010-05-18 23:05
0

服务器还是虚拟主机?如果是后者,这种问题很正常。

Astar | 园豆:40805 (高人七级) | 2010-05-19 07:09
是虚拟主机,那有没有什么方式解决呢
支持(0) 反对(0) Fencer | 园豆:7 (初学一级) | 2010-05-22 12:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册