Asp.net 如何追踪网站访问者数量?

Asp.net 如何追踪网站访问者数量?,asp.net,Asp.net,我需要实现网站访问者计数用户控制。在.Net中有人能帮我吗?您可以通过使用(或创建)global.asax文件来实现这一点 每次会话启动时,您都会增加一个整数,该整数保存当前访问者的数量。每次会话结束时,从该整数中减去一。接下来,您必须对所有页面使用公共属性才能检索信息 public class Global : System.Web.HttpApplication { private static int totalNumberOfUsers = 0; private stat

我需要实现网站访问者计数用户控制。在.Net中有人能帮我吗?

您可以通过使用(或创建)global.asax文件来实现这一点

每次会话启动时,您都会增加一个整数,该整数保存当前访问者的数量。每次会话结束时,从该整数中减去一。接下来,您必须对所有页面使用公共属性才能检索信息

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; } } 
}
接下来,在控件中,在正确的标签中设置global.asax文件的值

private void Page_Load(object sender, System.EventArgs e)
{
  int currentNumberOfUsers = HitCounters.Global.CurrentNumberOfUsers;
  int totalNumberOfUsers = HitCounters.Global.TotalNumberOfUsers;
  lblCurrentNumberOfUsers.Text = currentNumberOfUsers.ToString();
  lblTotalNumberOfUsers.Text = totalNumberOfUsers.ToString();
}

您可以通过使用(或创建)global.asax文件来实现这一点

每次会话启动时,您都会增加一个整数,该整数保存当前访问者的数量。每次会话结束时,从该整数中减去一。接下来,您必须对所有页面使用公共属性才能检索信息

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; } } 
}
接下来,在控件中,在正确的标签中设置global.asax文件的值

private void Page_Load(object sender, System.EventArgs e)
{
  int currentNumberOfUsers = HitCounters.Global.CurrentNumberOfUsers;
  int totalNumberOfUsers = HitCounters.Global.TotalNumberOfUsers;
  lblCurrentNumberOfUsers.Text = currentNumberOfUsers.ToString();
  lblTotalNumberOfUsers.Text = totalNumberOfUsers.ToString();
}

在global.asax中,执行以下操作:

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    ' Code, der beim Starten der Anwendung ausgeführt wird.
    ' Set our user count to 0 when we start the server 
    Application("ActiveUsers") = 0
End Sub


Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
    ' Code, der beim Beenden der Anwendung ausgeführt wird.
    Application("ActiveUsers") = 0
End Sub



Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
    ' Code, der beim Starten einer neuen Sitzung ausgeführt wird.
    Session.Timeout = 20
    Session("Start") = Now
    Application.Lock()
    Application("ActiveUsers") = CInt(Application("ActiveUsers")) + 1
    Application.UnLock()
End Sub


Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
    ' Code, der am Ende einer Sitzung ausgeführt wird. 
    ' Hinweis: Das Session_End-Ereignis wird nur ausgelöst, wenn der sessionstate-Modus
    ' in der Datei "Web.config" auf InProc festgelegt wird. Wenn der Sitzungsmodus auf StateServer 
    ' oder SQLServer festgelegt wird, wird das Ereignis nicht ausgelöst.
    Application.Lock()
    Application("ActiveUsers") = CInt(Application("ActiveUsers")) - 1
    Application.UnLock()
End Sub

在global.asax中,执行以下操作:

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    ' Code, der beim Starten der Anwendung ausgeführt wird.
    ' Set our user count to 0 when we start the server 
    Application("ActiveUsers") = 0
End Sub


Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
    ' Code, der beim Beenden der Anwendung ausgeführt wird.
    Application("ActiveUsers") = 0
End Sub



Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
    ' Code, der beim Starten einer neuen Sitzung ausgeführt wird.
    Session.Timeout = 20
    Session("Start") = Now
    Application.Lock()
    Application("ActiveUsers") = CInt(Application("ActiveUsers")) + 1
    Application.UnLock()
End Sub


Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
    ' Code, der am Ende einer Sitzung ausgeführt wird. 
    ' Hinweis: Das Session_End-Ereignis wird nur ausgelöst, wenn der sessionstate-Modus
    ' in der Datei "Web.config" auf InProc festgelegt wird. Wenn der Sitzungsmodus auf StateServer 
    ' oder SQLServer festgelegt wird, wird das Ereignis nicht ausgelöst.
    Application.Lock()
    Application("ActiveUsers") = CInt(Application("ActiveUsers")) - 1
    Application.UnLock()
End Sub
你可以通过这个链接你可以通过这个链接