Sdílet prostřednictvím


SessionStateStoreProviderBase.CreateUninitializedItem Metoda

Definice

Přidá novou položku stavu relace do úložiště dat.

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)

Parametry

context
HttpContext

Pro HttpContext aktuální požadavek.

id
String

Pro SessionID aktuální požadavek.

timeout
Int32

Relace Timeout pro aktuální požadavek.

Příklady

Příklad implementace zprostředkovatele úložiště stavu relace najdete v tématu Implementace poskytovatele úložiště Session-State.

Poznámky

Metoda se CreateUninitializedItem používá s relacemi, když cookieless jsou atributy a regenerateExpiredSessionId .true regenerateExpiredSessionId attribute Nastavení na true způsobí, že objekt vygeneruje SessionStateModule novou SessionID hodnotu, když dojde k hodnotě s vypršenou platnostíSessionID.

Proces generování nové SessionID hodnoty vyžaduje přesměrování prohlížeče na adresu URL, která obsahuje nově vygenerovanou SessionID hodnotu. Metoda CreateUninitializedItem je volána během počátečního požadavku, který obsahuje hodnotu s vypršenou platností SessionID . Jakmile SessionStateModule objekt získá novou SessionID hodnotu, která nahradí hodnotu s vypršenou platností, zavolá metodu CreateUninitializedItem pro přidání neinicializované položky do úložiště dat stavu relace. Prohlížeč se pak přesměruje na adresu URL obsahující nově vygenerovanou SessionID hodnotu. Existence neinicializované položky v úložišti dat relace zajišťuje, že přesměrovaný požadavek, který obsahuje nově vygenerovanou SessionID hodnotu, se nezamýlí s požadavkem pro relaci s vypršenou platností a bude místo toho považován za novou relaci.

Neinicializovaná položka v úložišti dat relace je přidružena k nově vygenerované SessionID hodnotě a obsahuje pouze výchozí hodnoty, včetně data a času vypršení platnosti a hodnoty, která odpovídá parametru actionFlagsGetItem metod a GetItemExclusive . Neinicializovaná položka v úložišti stavu relace by měla obsahovat actionFlags hodnotu rovnající se hodnotě výčtu InitializeItem . Tato hodnota je předána objektu SessionStateModule pomocí GetItem metod a GetItemExclusive a informuje SessionStateModule objekt, že aktuální relace je nová, ale neinicializovaná relace. Objekt SessionStateModule pak inicializuje novou relaci a vyvolá Session_OnStart událost.

Další informace o relacích bez souborů cookie najdete ve IsCookieless vlastnosti .

Platí pro

Viz také