转载:.NET 2005 实现在线人数统计
前几天有个朋友问起如何在.NET 2005中实现网站在线人数的统计,因为我们用的是C#,记得当时在网上找了好久也没找到适和的方法,最近不是很忙,在网上找了一些资料研究了一下,差不多已经能实现了,现将代码共享一下:
首先在项目中选择“添加新项”,添加“Global.asax”全局变量文件,修改其中的 Session_Start 和 Session_End 方法;代码如下:
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Session.Timeout = 5;
Application.Lock();
Application["zzzonline"] = Convert.ToInt32(Application["zzzonline"]) + 1;
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["zzzonline"] = Convert.ToInt32(Application["zzzonline"]) - 1;
Application.UnLock();
}
这样就可以在.aspx页面调用了;
<asp:Label ID="Label1" runat="server">当前在线 <font color=red><%=Application["zzzonline"]%></font> 人</asp:Label>