Online-Benutzer mit asp.net zählen
Ich soll eine Website erstellen, für die ich die Online-Benutzer zählen und sie die ganze Zeit auf der Homepage anzeigen muss. Ich bin nicht daran interessiert, einsatzbereite Module dafür einzusetzen. Folgendes habe ich bereits getan:
Hinzufügen einer Global.asax-Datei zu meinem Projekt
Schreiben Sie den folgenden Codeausschnitt in die Datei Global.asax:
<code>void Application_Start(object sender, EventArgs e) { Application["OnlineUsers"] = 0; } void Session_Start(object sender, EventArgs e) { Application.Lock(); Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 1; Application.UnLock(); } void Session_End(object sender, EventArgs e) { Application.Lock(); Application["OnlineUsers"] = (int)Application["OnlineUsers"] - 1; Application.UnLock(); } </code>
Eigentlich funktioniert es einwandfrei, aber ich habe folgenden Fehler gefunden: -> Auch wenn der Benutzer den Browser schließt, wird die tatsächliche Anzahl der Online-Benutzer nicht angezeigt, da das Sitzungs-Timeout noch aktiv ist!
Gibt es eine andere Lösung, als das Sitzungs-Timeout-Intervall zu ändern?