Translate

2012年4月23日 星期一

在線人數計算

ref→http://www.aspdotnetfaq.com/Faq/How-to-show-number-of-online-users-visitors-for-ASP-NET-website.aspx

在Global.asax

    void Application_Start(object sender, EventArgs e)
    {
        Application["OnlineUsers"] = 0;
    }


  void Session_Start(object sender, EventArgs e)
    {
        //啟動新工作階段時執行的程式碼
        Application.Lock();
        Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 1;
        Application.UnLock();
    }

    void Session_End(object sender, EventArgs e)
    {
        //工作階段結束時執行的程式碼。
        //注意: 只有在 Web.config 檔將 sessionstate 模式設定為 InProc 時,
        //才會引發 Session_End 事件。如果將工作階段模式設定為 StateServer
        //或 SQLServer,就不會引發這個事件。
        Application.Lock();
        Application["OnlineUsers"] = (int)Application["OnlineUsers"] - 1;
        Application.UnLock();
    }



沒有留言:

張貼留言