Sitzungsdaten gehen verloren, wenn Sie ASP.NET InProc-Sitzungsstatusmodus verwenden
Dieser Artikel hilft Ihnen, das Problem zu beheben, dass Sitzungsdaten verloren gehen, wenn Sie ASP.NET InProc-Sitzungsstatusmodus verwenden.
Ursprüngliche Produktversion: ASP.NET
Ursprüngliche KB-Nummer: 324772
Problembeschreibung
Sitzungsdaten für ASP.NET Webanwendungen gehen in zufälligen Intervallen für den InProc-Sitzungsstatusmodus verloren.
Ursache
Sitzungsstatusdaten gehen verloren, wenn die AppDomain Klasse oder der Aspnet_wp.exe Prozess (oder der W3wp.exe-Prozess für Anwendungen, die unter IIS 7.0 oder einer neueren Version ausgeführt werden) wiederverwendet werden. Im Allgemeinen wird der AppDomain Neustart basierend auf mehreren Faktoren ausgeführt:
- Verschiedene Attribute (z. B. das
memoryLimitAttribut) haben bestimmte Einstellungen im<processModel>Abschnitt der Konfigurationsdatei. - Die Datei Global.asax oder Web.config wurde geändert.
- Das
BinVerzeichnis der Webanwendung wurde geändert. - Virenscansoftware hat einige .config Dateien berührt.
Der InProc-Sitzungsmodus gibt an, dass der Sitzungsstatus lokal gespeichert wird. Dies bedeutet, dass der InProc-Sitzungsstatusmodus als Lebenszyklusobjekte in der Webanwendung gespeichert AppDomain wird. Aus diesem Grund geht der Sitzungsstatus verloren, wenn Aspnet_wp.exe (oder W3wp.exe, für Anwendungen, die auf IIS ausgeführt werden) oder AppDomain die Neustarts ausgeführt werden.
Lösung
Um dieses Problem zu umgehen, können Sie den Zustandsmodus "StateServer" oder "SqlServer" verwenden. ASP.NET bietet diese anderen Ansätze zum Speichern von Sitzungsstatusdaten. Im Modus "StateServer" und "SqlServer" wird der Sitzungsstatus nicht in AppDomain der Webanwendung gespeichert.
Hinweis
Es ist wichtig, das Verhalten und die Probleme zu verstehen, die mit jedem Sitzungsstatusmodus verbunden sind, wenn Sie entscheiden, welcher Modus ihren Anforderungen entspricht.
Status
Es handelt sich hierbei um ein beabsichtigtes Verhalten.
References
Weitere Informationen zu ASP.NET Sitzungsstatusverwaltung und anderen zugehörigen Informationen finden Sie unter "Sitzungsstatus".