SessionStateStoreProviderBase.CreateUninitializedItem 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.
Fügt dem Datenspeicher ein neues Sitzungszustandselement hinzu.
public:
abstract void CreateUninitializedItem(System::Web::HttpContext ^ context, System::String ^ id, int timeout);
public abstract void CreateUninitializedItem (System.Web.HttpContext context, string id, int timeout);
abstract member CreateUninitializedItem : System.Web.HttpContext * string * int -> unit
Public MustOverride Sub CreateUninitializedItem (context As HttpContext, id As String, timeout As Integer)
Parameter
- context
- HttpContext
Das HttpContext für die aktuelle Anforderung.
Beispiele
Ein Beispiel für eine Sitzungszustandsspeicheranbieterimplementierung finden Sie unter Implementieren eines Session-State Store-Anbieters.
Hinweise
Die CreateUninitializedItem -Methode wird mit Sitzungen verwendet, wenn die cookieless
Attribute und regenerateExpiredSessionId
beide true
sind. Wenn der regenerateExpiredSessionId attribute
Wert auf true
festgelegt ist, generiert das SessionStateModule Objekt einen neuen SessionID Wert, wenn ein abgelaufener SessionID Wert gefunden wird.
Beim Generieren eines neuen SessionID Werts muss der Browser zu einer URL weitergeleitet werden, die den neu generierten SessionID Wert enthält. Die CreateUninitializedItem -Methode wird während der ersten Anforderung aufgerufen, die einen abgelaufenen SessionID Wert enthält. Nachdem das SessionStateModule Objekt einen neuen SessionID Wert zum Ersetzen des abgelaufenen Werts abgerufen hat, ruft es die CreateUninitializedItem -Methode auf, um dem Sitzungsstatusdatenspeicher einen nicht initialisierten Eintrag hinzuzufügen. Der Browser wird dann an die URL weitergeleitet, die den neu generierten SessionID Wert enthält. Das Vorhandensein des nicht initialisierten Eintrags im Sitzungsdatenspeicher stellt sicher, dass die umgeleitete Anforderung, die den neu generierten SessionID Wert enthält, nicht mit einer Anforderung für eine abgelaufene Sitzung verwechselt wird und stattdessen als neue Sitzung behandelt wird.
Der nicht initialisierte Eintrag im Sitzungsdatenspeicher ist dem neu generierten SessionID Wert zugeordnet und enthält nur Standardwerte, einschließlich Ablaufdatum und -uhrzeit sowie einen Wert, der dem actionFlags
Parameter der GetItem Methoden und GetItemExclusive entspricht. Der nicht initialisierte Eintrag im Sitzungszustandsspeicher sollte einen actionFlags
Wert enthalten, der dem InitializeItem Enumerationswert entspricht. Dieser Wert wird von den Methoden und GetItemExclusive an das SessionStateModuleGetItem Objekt übergeben und informiert das SessionStateModule Objekt darüber, dass es sich bei der aktuellen Sitzung um eine neue, aber nicht initialisierte Sitzung handelt. Das SessionStateModule -Objekt initialisiert dann die neue Sitzung und löst das Session_OnStart
Ereignis aus.
Weitere Informationen zu cookielosen Sitzungen finden Sie in der IsCookieless -Eigenschaft.