c#软件如何统计在线人数

写在Global.asax全局文件中 
   void Application_Start(object sender, EventArgs e) 
    {
        // 在应用程序启动时运行的代码
        Application.Add("online", 0);
    }    


   void Session_Start(object sender, EventArgs e) 
    {
        // 在新会话启动时运行的代码
        Application.Lock();
        Application["online"] = (int)Application["online"] + 1;
        Application.UnLock();      
    }


   void Session_End(object sender, EventArgs e) 
    {
        // 在会话结束时运行的代码。 
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
        // 或 SQLServer,则不会引发该事件。
        Application.Lock();
        Application["online"] = (int)Application["online"] - 1;
        Application.UnLock();
    }


记录在线人数永远都不可能是个精确的值,因为它要受时间和性能的约束

posted @ 2021-01-18 19:37  mapstar  阅读(368)  评论(0编辑  收藏  举报