Wie man die genaue Summe Besucher Anzahl in ASP.NET

Ich möchte wissen, die Anzahl der Besucher, die online auf meiner Website. Ich habe meine Forschung und fand zwei Lösungen.

Quelle: Code-Projekt

Online aktive Nutzer Zähler in ASP.NET

Es ist einfach einzurichten und einfach zu bedienen, aber es erhöht die Anzahl der Nutzer ist für jeden Ajax-request/response zu. Auf meiner Homepage hat allein 12 von Ajax-Anfragen(8 Anfragen zu einer Seite, und 4 Anfragen auf eine andere Seite). Dies erhöht drastisch die Anzahl der Nutzer ist.

Quelle: Stack-Überlauf Q/A

Zählen die nicht der Besucher
Dieser arbeitet genau das gleiche wie die Vorherige.

Quelle: ASP.Net Forum
Wie zu sehen, "wer ist online" mit C#

Diese eine sieht besser aus als die beiden vorherigen. Hier ist der detail-code 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();
    }

Scheint es in der Lage sein zu ignorieren, die Erhöhung der Zählung für jede Ajax-response, aber es noch fügt für jede-Seite-refresh oder Seite anfordern.

Da ist jeder Ansatz zu zählen, die genaue Anzahl der online-Besucher in ASP.Net?

Einfachste Möglichkeit die ich mir denken kann, wäre die Haken in den Session_Start() in die Globale.asax-Datei. Inkrement-Zählung gibt es

InformationsquelleAutor Jonas T | 2012-07-09

Schreibe einen Kommentar