So erhalten Sie die genaue Gesamtzahl der Besucher in ASP.NET
Ich möchte wissen, wie viele Besucher auf meiner Website online sind. Ich recherchierte und fand zwei Lösungen.
Quelle: Code-Projekt
Online-Zähler für aktive Benutzer in ASP.NET
Es ist einfach einzurichten und zu verwenden, erhöht aber auch die Benutzeranzahl für jede Ajax-Anfrage / Antwort. Allein meine Homepage enthält 12 Ajax-Anfragen (8 Anfragen an eine Seite und 4 Anfragen an eine andere Seite). Dies erhöht die Benutzeranzahl dramatisch.
Quelle: Stapelüberlauf Q / A
Zählen Sie die Anzahl der Besucher Dieser funktioniert genauso wie der vorherige.
Quelle: ASP.Net-ForumWie man mit C # erkennt, wer online ist
Dieser sieht besser aus als die beiden vorherigen. Hier ist der Detailcode dieser Lösung.
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
HttpContext.Current.Application["visitors_online"] = 0;
}
void Session_Start(object sender, EventArgs e)
{
Session.Timeout = 20; //'20 minute timeout
HttpContext.Current.Application.Lock();
Application["visitors_online"] = Convert.ToInt64(HttpContext.Current.Application["visitors_online"]) + 1;
HttpContext.Current.Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
HttpContext.Current.Application.Lock();
Application["visitors_online"] = Convert.ToInt64(HttpContext.Current.Application["visitors_online"]) - 1;
HttpContext.Current.Application.UnLock();
}
Es scheint in der Lage zu sein, das Erhöhen der Anzahl für jede Ajax-Antwort zu ignorieren, aber es summiert sich immer noch für jede Seitenaktualisierung oder Seitenanforderung.
Gibt es einen Ansatz, um die genaue Anzahl der Online-Besucher in ASP.Net zu ermitteln?