• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
asp.net 空间站
博客园    首页    新随笔    联系   管理    订阅  订阅

NET 2005 实现在线人数统计

前几天有个朋友问起如何在.NET 2005中实现网站在线人数的统计,因为我们用的是C#,记得当时在网上找了好久也没找到适和的方法,最近不是很忙,在网上找了一些资料研究了一下,差不多已经能实现了,现将代码共享一下:

首先在项目中选择“添加新项”,添加“Global.asax”全局变量文件,修改其中的 Session_Start 和 Session_End 方法;代码如下:

 void Session_Start(object sender, EventArgs e)
    {
        // 在新会话启动时运行的代码
        Session.Timeout = 5; //设置Session的有效时间,可根据需要修改
        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-26 12:43  裴鹏  阅读(193)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3