Ich möchte meine asp.net-Website besucht Anzahl ohne Verwendung der Datenbank anzeigen. Die erste Idee verwendet etwas wie Application["VisitedUsersCount"]
und erhöht es bei Session_Start
Ereignis der Anwendung. Aber der Umfang dieser Variable ist Application und wenn ich meine Site aus Visual Studio veröffentliche, wird diese Variable wieder Null.Besuchte Benutzer zählen in ASP.NET ohne Datenbank
Die zweite ist, eine Datei zu verwenden, um diese Variable zu speichern, und jedes Mal, wenn Session_Start
gefeuert wurde, öffne ich diese Datei und erhöhe ihren Wert. Aber das Problem hier ist Parallelitätsproblem, wenn zwei Benutzer gleichzeitig auf diese Datei zugreifen möchten. Also meine Fragen sind:
- Gibt es eine Parallelität Problem diese Variable in der Datei zu speichern und den Zugriff auf sie jedes Mal
Session_Start
Feuer? - Funktioniert es, wenn ich diese Datei nur auf Application_Start lade und sie unter
Application_End
speichere? Wenn ich es aus dem Visual Studio veröffentliche, wird dieApplication_End
ausgelöst?
Sie können zuerst gehen und das Dateikonzept damit integrieren, dh Wenn Sie Application_Start ausführen, erhalten Sie die gelesene Datei und dann Application ["VisitedUsersCount"] auf diesen Wert und in Application_End den aktuellen Wert von Anwendung ["VisitedUsersCount"] zurück zur Datei. – Manish