Wenn nicht Code könnte Sie bitte einige allgemeine Erklärung zur Verfügung stellen?Was würden Sie in Asp.net in den Session_Start und Session_End Events in Global.asax?
Antwort
In Session_Start können Sie alles einrichten, was für eine Sitzung relevant ist, hängt sehr von der Anwendung ab.
Im Allgemeinen sollte Session_End nach Möglichkeit vermieden werden, es wird nicht nur sehr spät ausgelöst (nach einem Session-Timeout), sondern in einer Multi-Server-Konfiguration wird es überhaupt nicht ausgelöst. siehe
Einzelheiten der Session Tag in Web.config
Das häufigste Beispiel ist das Zählen der Online-Benutzer. Inkrementieren der Zählung auf Session_Start
und das Gegenteil auf Session_End
.
Session_Start Sammeln Sie alle Benutzerinformationen und speichern in der Datenbank. System für Benutzer wie temporäre Datei, zwischengespeicherte Datei vorbereiten.
Session_End Benutzerstatus in der Datenbank speichern. Reinigungssystem und etc.
Es ist immer gut, daran zu erinnern, warum wir nie Session_End
excert von Understanding session state modes + FAQ
- Session_End Ereignis verwenden sollten, ist wird nur im InProc-Modus unterstützt.
- Session_End wird nicht ausgelöst, wenn Sie Ihren Browser schließen. HTTP ist ein statusloses Protokoll , und der Server hat keine Möglichkeit zu wissen, ob der Browser geschlossen hat oder nicht.
- Session_End wird nur ausgelöst:
(a). Nach n Minuten Inaktivität (n = Timeout-Wert),
oder
(b). Wenn jemand Session.Abandon() aufruft. - Für Fall (a) (Punkt 3) wird Session_End von einem Hintergrundthread ausgeführt: , was bedeutet: (a). Ihr Code in Session_End wird mit dem Arbeitsprozesskonto ausgeführt. Möglicherweise haben Sie ein Berechtigungsproblem, wenn Sie auf eine Ressource wie die -Datenbank zugreifen. (b). Wenn in Session_End ein Fehler auftritt, wird es automatisch fehlschlagen.
- Für den Fall (b) (Punkt 3), damit Session_End als ausgelöst wird, muss Ihr Sitzungszustand zuerst existieren. Das bedeutet, Sie müssen einige Daten im Sitzungszustand speichern und haben mindestens eine Anfrage abgeschlossen.
- Wieder wird für Fall (b) (Point3) Session_End nur aufgerufen, wenn die abgebrochene Sitzung tatsächlich gefunden wird. Wenn Sie eine Sitzung innerhalb der gleichen Anforderung erstellen und wenn nicht gespeichert werden und Sitzung nicht finden, wird Session_End daher nicht aufgerufen. Dies ist ein Fehler in .NET Framework 1.0 und 1.1.
- 1. ASP.NET Session_End direkt nach Session_Start nach einem Sitzungszeitlimit aufgerufen
- 2. Wann wird Session_End() in ASP.NET MVC aufgerufen?
- 3. Global.asax in Umbraco 6
- 4. ASP.NET-Routing in Global.asax
- 5. ASP.NET Session in Global.asax
- 6. Asp.net System.Web.HttpContext.Current.Session null in global.asax
- 7. Wie man Sitzungen sicher zählt: ist Session_Start/End in Global.Asax sicher/sicher genug?
- 8. asp.net Sitzungsvariablen auf Session_End
- 9. ASP.Net Session_Start-Ereignis wird nicht ausgelöst
- 10. ASP.NET MVC Error Logging in beiden Global.asax und Error.aspx
- 11. Warum sollte Session_Start neu geladen werden, ohne dass Session_End ausgelöst wird?
- 12. ASP.NET global.asax Verwendung
- 13. Ereignisse in Global.asax werden nicht ausgelöst
- 14. Session_End Alternativen
- 15. Wie würden Sie eine Checkbox in ASP.Net MVC 2 validieren?
- 16. Wie würden Sie einen Breadcrumb-Helfer in asp.net mvc implementieren?
- 17. WebApiConfig Fehler in Global.asax
- 18. Alle Routen in global.asax definiert
- 19. Session_start Funktion fehlt in PHP
- 20. Automatische Ereignisverdrahtung in Global.asax
- 21. Fangen Fehler in Global.asax
- 22. Was würden Sie für Bereitstellungsskripts in Java verwenden?
- 23. Warum verursacht Session_Start in Global.asax.cs Leistungsprobleme?
- 24. Sitzungsstatus in diesem Kontext nicht verfügbar - In Global.asax
- 25. session_start() Fehler in wamp Server
- 26. Warum würden Sie ASP.NET MVC über SPA + ASP.NET WebAPI wählen?
- 27. Was würden Sie für Integrationstests in PHP-Webanwendungen empfehlen?
- 28. Asp.Net Mvc - Zugriff auf IoC-Container von Session_Start
- 29. Was ist eine ABSTRACT CLASS und INTERFACE und wann würden Sie sie in PHP verwenden?
- 30. Benutzer Protokollierung mit Session_End Ereignis
+1 für die Angabe zu vermeiden Session_End –