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

Aktuální HttpContext požadavek.

id
String

Aktuální SessionID požadavek.

timeout
Int32

Timeout Relace 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 Store.

Poznámky

Metoda CreateUninitializedItem se používá s relacemi, pokud cookieless jsou trueoba regenerateExpiredSessionId atributy . regenerateExpiredSessionId attribute Nastavení způsobí SessionStateModuletrue, že objekt vygeneruje novou SessionID hodnotu, když dojde k vypršení platnosti SessionID hodnoty.

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 se volá během počátečního požadavku, který obsahuje hodnotu s vypršenou SessionID platností. Jakmile SessionStateModule objekt získá novou SessionID hodnotu, která nahradí hodnotu s vypršenou platností, zavolá CreateUninitializedItem metodu, která přidá neinicializovaný záznam 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, není omylem pro požadavek na relaci s vypršenou platností a je 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 a GetItemExclusive metod. Neinicializovaná položka v úložišti stavu relace by měla obsahovat actionFlags hodnotu, která se rovná hodnotě výčtu InitializeItem . Tato hodnota je předána SessionStateModule objektu GetItem metodami a GetItemExclusive 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 orelacích IsCookieless

Platí pro

Viz také