SessionStateStoreProviderBase.CreateUninitializedItem Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.
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 actionFlags
GetItem 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 .