SessionStateStoreProviderBase.GetItem Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt schreibgeschützte Sitzungszustandsdaten vom Sitzungsdatenspeicher zurück.
public:
abstract System::Web::SessionState::SessionStateStoreData ^ GetItem(System::Web::HttpContext ^ context, System::String ^ id, [Runtime::InteropServices::Out] bool % locked, [Runtime::InteropServices::Out] TimeSpan % lockAge, [Runtime::InteropServices::Out] System::Object ^ % lockId, [Runtime::InteropServices::Out] System::Web::SessionState::SessionStateActions % actions);
public abstract System.Web.SessionState.SessionStateStoreData GetItem (System.Web.HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out System.Web.SessionState.SessionStateActions actions);
abstract member GetItem : System.Web.HttpContext * string * bool * TimeSpan * obj * SessionStateActions -> System.Web.SessionState.SessionStateStoreData
Public MustOverride Function GetItem (context As HttpContext, id As String, ByRef locked As Boolean, ByRef lockAge As TimeSpan, ByRef lockId As Object, ByRef actions As SessionStateActions) As SessionStateStoreData
Parameter
- context
- HttpContext
Das HttpContext für die aktuelle Anforderung.
- locked
- Boolean
Diese Methode enthält bei der Rückgabe den booleschen Wert true
, wenn das angeforderte Sitzungselement im Sitzungsdatenspeicher gesperrt ist, andernfalls false
.
- lockAge
- TimeSpan
Diese Methode enthält bei der Rückgabe ein TimeSpan-Objekt, das auf die Zeitdauer festgelegt ist, für das ein Element im Sitzungsdatenspeicher bereits gesperrt ist.
- lockId
- Object
Diese Methode enthält bei der Rückgabe ein Objekt, das auf den Sperrbezeichner für die aktuelle Anforderung festgelegt ist. Weitere Informationen über Sperrbezeichner finden Sie unter "Sperren von Daten im Sitzungsspeicher" in der Zusammenfassung der SessionStateStoreProviderBase-Klasse.
- actions
- SessionStateActions
Diese Methode enthält bei der Rückgabe einen der SessionStateActions-Werte, der angibt, ob es sich bei der aktuellen Sitzung um eine nicht initialisierte Sitzung ohne Cookies handelt.
Gibt zurück
Ein mit Sitzungswerten und Informationen aus dem Sitzungsdatenspeicher gefülltes SessionStateStoreData.
Beispiele
Ein Beispiel für eine Sitzungszustandsspeicheranbieterimplementierung finden Sie unter Implementieren eines Session-State Store-Anbieters.
Hinweise
Das SessionStateModule -Objekt ruft die GetItem -Methode am Anfang einer Anforderung während des AcquireRequestState Ereignisses auf, wenn das EnableSessionState -Attribut auf ReadOnly
festgelegt ist. Wenn das EnableSessionState Attribut auf true
festgelegt ist, ruft das SessionStateModule -Objekt stattdessen die GetItemExclusive -Methode auf.
Die GetItem Methode gibt ein SessionStateStoreData Objekt zurück, das mit Sitzungsinformationen aus dem Datenspeicher aufgefüllt ist, und aktualisiert das Ablaufdatum der Sitzungsdaten. Wenn keine Sitzungselementdaten im Datenspeicher gefunden werden, legt die GetItem -Methode den locked
out
Parameter auf fest false
und gibt zurück null
. Dadurch ruft das SessionStateModule -Objekt die CreateNewStoreData -Methode auf, um ein neues Sitzungselement im Datenspeicher zu erstellen.
Wenn Sitzungselementdaten im Datenspeicher gefunden werden, die Daten jedoch gesperrt sind, legt die GetItem -Methode den locked
out
Parameter auf true
fest, legt den lockAge
out
Parameter auf das aktuelle Datum und die aktuelle Uhrzeit abzüglich des Datums und der Uhrzeit fest, an dem das Element gesperrt wurde (das aus dem Datenspeicher abgerufen wird). Legt den lockId
out
Parameter auf den aus dem Datenspeicher abgerufenen Sperrbezeichner fest. und gibt zurück null
. Dies führt dazu, dass das SessionStateModule -Objekt die GetItem -Methode nach einem Intervall von einer halben Sekunde erneut aufruft, um zu versuchen, die Sitzungselementinformationen abzurufen.
Wenn der Wert, den der lockAge
out
Parameter festgelegt hat, den ExecutionTimeout Wert überschreitet, ruft das SessionStateModule -Objekt die ReleaseItemExclusive -Methode auf, um die Sperre für die Sitzungselementdaten zu löschen, und ruft die GetItem Methode dann erneut auf.
Der actionFlags
-Parameter wird verwendet, wenn sowohl die cookieless
Attribute als regenerateExpiredSessionId
auch auf true
festgelegt sind. Ein actionFlags
Wert, der auf InitializeItem festgelegt ist, gibt an, dass es sich bei dem Eintrag im Sitzungsdatenspeicher um eine neue Sitzung handelt, die initialisiert werden muss. Nicht initialisierte Einträge im Sitzungsdatenspeicher werden durch einen Aufruf der CreateUninitializedItem -Methode erstellt. Wenn das Element aus dem Sitzungsdatenspeicher kein nicht initialisiertes Element ist, wird der actionFlags
Parameter auf 0 festgelegt.
Benutzerdefinierte Sitzungszustandsspeicherimplementierung, die cookielose Sitzungen unterstützen, sollten den actionFlags
out
Parameter auf den Wert festlegen, der aus dem Sitzungsdatenspeicher für das aktuelle Element zurückgegeben wird. Wenn der actionFlags
Parameterwert für das angeforderte Sitzungsspeicherelement dem InitializeItem Enumerationswert entspricht, sollte die GetItem Methode den Wert im Datenspeicher nach dem Festlegen des actionFlags
out
Parameters auf Null festlegen.
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für