转载:.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">当前在线&nbsp;<font color=red><%=Application["zzzonline"]%></font>&nbsp;人</asp:Label>

posted @ 2007-01-23 12:05  黑星  阅读(462)  评论(0编辑  收藏  举报