0
我需要實現網站訪問者數量Usercontrol.Can任何人都可以在.Net中幫助我解決這個問題嗎?如何跟蹤網站訪問者數量?
我需要實現網站訪問者數量Usercontrol.Can任何人都可以在.Net中幫助我解決這個問題嗎?如何跟蹤網站訪問者數量?
在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文件來完成此操作。
每次啓動會話時,都會增加一個整數,該整數保存當前訪問者的數量。每次會話結束時,都會從該整數中減去一個。接下來,您必須使用所有頁面的公共屬性才能檢索信息。
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();
}
你可以通過這個鏈接http://www.website-hit-counters.com/signup.php?style=bullet – ankur