用asp.net 遍历所有在线人的名单啊!
用asp.net 遍历所有在线人的名单啊!
这个?还不会,应该用到request.servervariables[""].这里要用到application的名称吧.
等
顶,我真的不会
用Application统计在线人数的原理是这样的。
在网站开始运行的时侯,就建立一个Application["online"],并设为0.
只要有一个新用户登录的时候,就会激活Session_Start事件,在这个事件里,把Application["online"]+1,而用户在规定时间内(默认为20分钟),没有对网站进行任何操作的话,就会激活Session_End事件,在这个事件里,把Application["online"]-1。
这样就可以在网站的任何一个地方读取Application["online"],而知道大概的在线人数了。
但是Session_End事件总是怪怪的,运行得不正常。所以只能得到一个大概的在线人数。
代码实现:
在Global.asax.cs文件里,修改上面说的三个事件:
protected void Application_Start(Object sender, EventArgs e)
{
Application["online"] = 0;
}
protected void Session_Start(Object sender, EventArgs e)
{
Application["online"] = int.Parse(Application["online"].ToString())+1;
}
protected void Session_End(Object sender, EventArgs e)
{
Application["online"] = int.Parse(Application["online"].ToString())-1;
}
在你要查看在线人数的页面上加上
Response.Write(Application["online"].tostring())即可。
不错,我也学到了
顶
顺便问一下Application_Start事件到底是什么时候触发的(书上说是在服务器关闭的时候触发,但我关闭服务器后Application["online"]的值还在往上涨,就是没有执行Application["online"] = 0;这条语句)!!