SessionStateStoreProviderBase.CreateUninitializedItem Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dodaje nowy element stanu sesji do magazynu danych.
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
Wartość HttpContext dla bieżącego żądania.
Przykłady
Aby zapoznać się z przykładem implementacji dostawcy magazynu stanów sesji, zobacz Implementowanie dostawcy magazynu Session-State.
Uwagi
Metoda CreateUninitializedItem jest używana z sesjami, gdy cookieless
atrybuty i regenerateExpiredSessionId
są zarówno true
. Po ustawieniu parametru regenerateExpiredSessionId attribute
true
SessionStateModule powoduje wygenerowanie nowej SessionID wartości przez obiekt po napotkaniu wygasłej SessionID wartości.
Proces generowania nowej SessionID wartości wymaga przekierowania przeglądarki do adresu URL zawierającego nowo wygenerowaną SessionID wartość. Metoda jest wywoływana CreateUninitializedItem podczas początkowego żądania, które zawiera wygasłą SessionID wartość. SessionStateModule Gdy obiekt uzyska nową SessionID wartość, aby zastąpić wygasłą wartość, wywołuje CreateUninitializedItem metodę w celu dodania niezainicjowanego wpisu do magazynu danych stanu sesji. Przeglądarka jest następnie przekierowywana do adresu URL zawierającego nowo wygenerowaną SessionID wartość. Istnienie niezainicjowanego wpisu w magazynie danych sesji gwarantuje, że przekierowane żądanie zawierające nowo wygenerowaną SessionID wartość nie jest mylone z żądaniem wygasłej sesji i jest zamiast tego traktowane jako nowa sesja.
Niezainicjowany wpis w magazynie danych sesji jest skojarzony z nowo wygenerowaną SessionID wartością i zawiera tylko wartości domyślne, w tym datę i godzinę wygaśnięcia oraz wartość odpowiadającą parametrowi actionFlags
GetItem metod i GetItemExclusive . Niezainicjowany wpis w magazynie stanu sesji powinien zawierać wartość równą actionFlags
InitializeItem wartości wyliczenia. Ta wartość jest przekazywana do SessionStateModule obiektu przez GetItem metody i GetItemExclusive i i informuje SessionStateModule obiekt, że bieżąca sesja jest nową, ale niezainicjowaną sesją. Następnie SessionStateModule obiekt zainicjuje nową sesję i zgłosi Session_OnStart
zdarzenie.
Aby uzyskać więcej informacji na temat sesji bez plików cookie, zobacz IsCookieless właściwość .