2012-04-03 4 views
0

Ich bin kein Fan von ASP.NET-Sitzungsstatus, aber unsere Anwendung verwendet es zu diesem Zeitpunkt. Wir verwenden den SQL Server-Modus für die Persistenz des Sitzungsstatus. Ich überlege, die Berechtigungsprüfungsergebnisse in den Sitzungsstatus zu cachen, aber ich mache mir Sorgen über die Leistung dieses Ansatzes. Wie funktioniert die Persistenz des SQL Server-Sitzungsstatus in .NET?Wie funktioniert die Persistenz des SQL Server-Sitzungsstatus?

Aus was ich sagen kann, sind alle Sitzungsdaten in einer Datenbankzeile gespeichert, mit den Daten selbst in einer Spalte gespeichert. Meine Sorge ist, dass, wenn unsere Anwendung 12 verschiedene Autorisierungschecks in einer Anfrage durchführt und jedes Ergebnis sofort nach dem Empfang gespeichert wird, dass 12 verschiedene Datenbankanfragen gemacht werden, wenn diese Artikel gespeichert werden, was jegliche Reduktion von Netzwerkanfragen zunichte machen würde versuchen zu erreichen.

Wird jede Sitzungsstatusmutation von einer synchronen Datenbankanforderung begleitet, oder werden alle Änderungen des Sitzungszustands während des ASP.NET-Anforderungslebenszyklus gleichzeitig beibehalten?

Antwort

0

Sitzungen werden am Ende jeder ASP.NET-Anforderung nach dem Anwendungsereignis ReleaseRequestState beibehalten - und nicht bei Sitzungsdaten geändert.