Freigeben über


SessionStateStoreProviderBase.CreateUninitializedItem Methode

Definition

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.

id
String

Das SessionID für die aktuelle Anforderung.

timeout
Int32

Der Timeout der Sitzung 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 truesind. 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.

Gilt für:

Weitere Informationen