SessionStateStoreProviderBase.GetItemExclusive 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 Sitzungsstatusdaten aus dem Sitzungsdatenspeicher zurück.
public:
abstract System::Web::SessionState::SessionStateStoreData ^ GetItemExclusive(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 GetItemExclusive (System.Web.HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out System.Web.SessionState.SessionStateActions actions);
abstract member GetItemExclusive : System.Web.HttpContext * string * bool * TimeSpan * obj * SessionStateActions -> System.Web.SessionState.SessionStateStoreData
Public MustOverride Function GetItemExclusive (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
Die HttpContext für die aktuelle Anforderung.
- locked
- Boolean
Wenn diese Methode zurückgegeben wird, enthält sie einen booleschen Wert, der auf true
festgelegt ist, wenn eine Sperre erfolgreich abgerufen wird; andernfalls false
.
- lockAge
- TimeSpan
Wenn diese Methode zurückgegeben wird, enthält ein TimeSpan -Objekt, das auf die Zeitspanne festgelegt ist, die ein Element im Sitzungsdatenspeicher gesperrt wurde.
- lockId
- Object
Wenn diese Methode zurückgegeben wird, enthält ein Objekt, das auf den Sperrbezeichner für die aktuelle Anforderung festgelegt ist. Ausführliche Informationen zum Sperrbezeichner finden Sie unter "Sperren Session-Store Daten" in der SessionStateStoreProviderBase Klassenzusammenfassung.
- actions
- SessionStateActions
Wenn diese Methode zurückgegeben wird, enthält sie einen der SessionStateActions Werte, der angibt, ob die aktuelle Sitzung eine nicht initialisierte, cookielose Sitzung ist.
Gibt zurück
Ein SessionStateStoreData mit Sitzungswerten und Informationen aus dem Sitzungsdatenspeicher aufgefüllt.
Beispiele
Ein Beispiel für eine Implementierung eines Sitzungsstatusspeicheranbieters finden Sie unter Implementieren eines Session-State Store Provider-.
Hinweise
Das SessionStateModule-Objekt ruft die GetItemExclusive-Methode am Anfang einer Anforderung während des AcquireRequestState-Ereignisses auf, wenn das attribut EnableSessionState auf true
festgelegt ist, was der Standardwert ist. Wenn das attribut EnableSessionState auf ReadOnly
festgelegt ist, ruft das SessionStateModule-Objekt stattdessen die GetItem-Methode auf.
Die GetItemExclusive-Methode gibt ein SessionStateStoreData Objekt zurück, das mit Sitzungsinformationen aus dem Datenspeicher aufgefüllt wird, aktualisiert das Ablaufdatum der gespeicherten Daten und sperrt die Sitzungselementdaten für die Dauer der Anforderung am Datenspeicher. Wenn keine Sitzungselementdaten im Datenspeicher gefunden werden, legt die GetItemExclusive-Methode den parameter locked
out
auf false
fest und gibt null
zurück. Dies bewirkt, dass das SessionStateModule-Objekt die CreateNewStoreData Methode aufruft, um ein neues Sitzungselement im Datenspeicher zu erstellen. Wenn Sitzungselementdaten im Datenspeicher gefunden werden, die Daten jedoch gesperrt sind, legt die GetItemExclusive-Methode den parameter locked
out
auf true
fest, legt den parameter lockAge
out
auf das aktuelle Datum und die Uhrzeit minus datum und uhrzeit minus dem Datum und der Uhrzeit fest, zu der das Element gesperrt wurde (das aus dem Datenspeicher abgerufen wird), legt den lockId
out
Parameter auf den Sperrbezeichner fest, der aus dem Datenspeicher abgerufen wird, und gibt null
zurück. Dies bewirkt, dass das SessionStateModule-Objekt die GetItemExclusive Methode nach einem halben Sekundenintervall erneut aufruft, um zu versuchen, die Sitzungselementinformationen abzurufen und eine Sperre für die Daten abzurufen. Wenn der Wert, für den der parameter lockAge
out
festgelegt ist, den ExecutionTimeout Wert überschreitet, ruft die SessionStateModule die ReleaseItemExclusive-Methode auf, um die Sperre für die Sitzungselementdaten zu löschen, und ruft dann die GetItemExclusive Methode erneut auf.
Der actionFlags
-Parameter wird verwendet, wenn die Attribute cookieless
und regenerateExpiredSessionId
auf true
festgelegt sind. Ein auf InitializeItem festgelegter actionFlags
Wert gibt an, dass der Eintrag im Sitzungsdatenspeicher eine neue Sitzung ist, 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 parameter actionFlags
auf Null festgelegt.
Benutzerdefinierte Session-State Store-Implementierungen, 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 wert des actionFlags
Parameters für das angeforderte Sitzungsspeicherelement dem InitializeItem Enumerationswert entspricht, sollte die GetItemExclusive Methode den Wert im Datenspeicher nach dem Festlegen des actionFlags
out
Parameters auf Null festlegen.
Gilt für:
Weitere Informationen
- übersicht über ASP.NET Sitzungszustand