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

HttpContextPro aktuální požadavek.

id
String

SessionIDPro 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 služby Session-State Store.

Poznámky

CreateUninitializedItemMetoda se používá s relacemi, pokud cookieless regenerateExpiredSessionId jsou atributy a true . regenerateExpiredSessionId attributeNastavením na true hodnotu způsobí, že SessionStateModule objekt vygeneruje novou SessionID hodnotu SessionID , když je zjištěna hodnota, jejíž platnost vypršela.

Proces generování nové SessionID hodnoty vyžaduje přesměrování prohlížeče na adresu URL, která obsahuje nově vygenerovanou SessionID hodnotu. CreateUninitializedItemMetoda je volána během počáteční žádosti, která obsahuje hodnotu, jejíž platnost vypršela SessionID . Poté, co SessionStateModule objekt získá novou SessionID hodnotu k nahrazení hodnoty, která vypršela, volá CreateUninitializedItem metodu 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á žádost, která obsahuje nově vygenerovanou hodnotu, SessionID nebude pro požadavek na relaci s vypršenou platností zapsána a místo toho je považována 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á actionFlags parametru GetItem GetItemExclusive metod a. Neinicializovaná položka v úložišti stavu relace by měla obsahovat actionFlags hodnotu rovnou InitializeItem hodnotě výčtu. Tato hodnota je předána SessionStateModule objektu metodou GetItem a GetItemExclusive a informuje SessionStateModule objekt o tom, že aktuální relace je nová, ale neinicializovaná relace. SessionStateModuleObjekt pak Inicializuje novou relaci a vyvolá Session_OnStart událost.

Další informace o relacích bez souborů cookie najdete v části IsCookieless vlastnost.

Platí pro

Viz také