SessionStateStoreProviderBase.CreateUninitializedItem Metoda

Definice

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

C#
public abstract void CreateUninitializedItem(System.Web.HttpContext context, string id, int timeout);

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

Produkt Verze
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Viz také