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?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage