对于做B/S开发的人来说,统计在线的人数是个很重要的工作,一般的统计方法是利用Application保存在线人数。我今天要讲的也是用这个方法,但是,在这个方法上增加一点内容,就是,当用户直接关闭IE后,也要立刻将在线人数减少,而一般的方法是要等待Session过期后才能统计。好了,开始了。
1、首先,配置web.config
将Session的状态配置成如下,为什么我就不说了。

2、Global.asax的各个方法














































3、登陆成功后的人数加一












如果页面是用框架结构做的,则里面不能用.net的控件,而且没有body,因此,我们只能调用其他的页面来实现。
我的方法如下:



//这样写,主要是防止刷新也触发该事件






















System.Web.HttpContext.Current.Session.Abandon();


如果不是用框架做的就要简单些了,可以不需要调用其他的页面来执行方法,用他自己就可以了。
部分代码:












按纽里的方法同上面一样,也是取消会话。
这个方法我测试了,好象基本上可以,但是又好象有时没调用到,好象是和用户点击按纽的位置有关。