2013-04-04 59 views
0

工作在我Global.cs,在session_start不會在asp.net

namespace HitCounters 
{ 
public class Global : System.Web.HttpApplication 
{ 
    private static int totalNumberOfUsers = 0; 
    private static int currentNumberOfUsers = 0; 

    protected void Session_Start(Object sender, EventArgs e) 
    { 
     totalNumberOfUsers += 1; 
     currentNumberOfUsers += 1; 
    } 

    protected void Session_End(Object sender, EventArgs e) 
    { 
     currentNumberOfUsers -= 1; 
    } 

    protected void Application_End(Object sender, EventArgs e) 
    { 

    } 

    public static int TotalNumberOfUsers 
    { 
     get 
     { 
      return totalNumberOfUsers; 
     } 
    } 

    public static int CurrentNumberOfUsers 
    { 
     get 
     { 
      return currentNumberOfUsers; 
     } 
    } 


} 
} 

而且,在母版頁的Page_Load中,

countOnline.Text = HitCounters.Global.CurrentNumberOfUsers.ToString(); 
    countVisitor.Text = HitCounters.Global.TotalNumberOfUsers.ToString(); 

我想在session_start不起作用。 訪客總數和在線用戶總數總是顯示爲零。 我想知道爲什麼!我錯過了什麼嗎?

+0

你的代碼不是線程安全的。在增量周圍添加鎖,並減少或使用互鎖增量。 – NickD 2013-04-04 09:49:45

+0

我參考此鏈接> http://imar.spaanjaars.com/223/howto-create-a-hit-counter-using-the-globalasax-file-in-aspnet-1x – zey 2013-04-04 09:50:45

+0

您是否在您的應用程序中使用Session? – Joe 2013-04-04 09:50:58

回答

0

在您的Web.config中配置<sessionState>

相關問題