SessionStateStoreProviderBase.GetItem 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í.
Vrátí data stavu relace jen pro čtení z úložiště dat relace.
public:
abstract System::Web::SessionState::SessionStateStoreData ^ GetItem(System::Web::HttpContext ^ context, System::String ^ id, [Runtime::InteropServices::Out] bool % locked, [Runtime::InteropServices::Out] TimeSpan % lockAge, [Runtime::InteropServices::Out] System::Object ^ % lockId, [Runtime::InteropServices::Out] System::Web::SessionState::SessionStateActions % actions);
public abstract System.Web.SessionState.SessionStateStoreData GetItem (System.Web.HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out System.Web.SessionState.SessionStateActions actions);
abstract member GetItem : System.Web.HttpContext * string * bool * TimeSpan * obj * SessionStateActions -> System.Web.SessionState.SessionStateStoreData
Public MustOverride Function GetItem (context As HttpContext, id As String, ByRef locked As Boolean, ByRef lockAge As TimeSpan, ByRef lockId As Object, ByRef actions As SessionStateActions) As SessionStateStoreData
Parametry
- context
- HttpContext
Hodnota HttpContext pro aktuální požadavek.
- locked
- Boolean
Když tato metoda vrátí, obsahuje logickou hodnotu, která je nastavena natrue
, pokud je požadovaná položka relace uzamčena v úložišti dat relace; v opačném případě . false
- lockAge
- TimeSpan
Když tato metoda vrátí, obsahuje TimeSpan objekt, který je nastaven na dobu, po kterou byla položka v úložišti dat relace uzamčena.
- lockId
- Object
Když tato metoda vrátí, obsahuje objekt, který je nastaven na identifikátor zámku pro aktuální požadavek. Podrobnosti o identifikátoru zámku najdete v části "Uzamčení Session-Store dat" v souhrnu SessionStateStoreProviderBase třídy.
- actions
- SessionStateActions
Když tato metoda vrátí, obsahuje jednu z SessionStateActions hodnot, které označují, zda aktuální relace je neinicializovaná relace bez souborů cookie.
Návraty
Naplněný SessionStateStoreData hodnotami relace a informacemi z úložiště dat relace.
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
Objekt SessionStateModule volá metodu GetItem na začátku požadavku, během AcquireRequestState události, když EnableSessionState je atribut nastaven na ReadOnly
. EnableSessionState Pokud je atribut nastaven na true
, SessionStateModule objekt místo toho volá metoduGetItemExclusive.
Metoda GetItem vrátí objekt naplněný SessionStateStoreData informacemi o relaci z úložiště dat a aktualizuje datum vypršení platnosti dat relace. Pokud v úložišti dat nejsou nalezena žádná data položky relace, GetItem metoda nastaví locked
out
parametr na false
a vrátí null
. To způsobí, že SessionStateModule objekt zavolá metodu CreateNewStoreData pro vytvoření nové položky relace v úložišti dat.
Pokud jsou data položky relace nalezena v úložišti dat, ale data jsou uzamčená, GetItem metoda nastavíout
locked
parametr na true
, nastaví lockAge
out
parametr na aktuální datum a čas minus datum a čas, kdy byla položka uzamčena (která se načte z úložiště dat), nastaví lockId
out
parametr na identifikátor zámku načtený z úložiště dat. a vrátí null
. To způsobí, že SessionStateModule objekt zavolá metodu GetItem znovu po půlsekundovém intervalu, aby se pokusil načíst informace o položce relace.
Pokud hodnota, kterou lockAge
out
parametr je nastaven na vyšší než ExecutionTimeout hodnotu, pak SessionStateModule objekt volá metodu ReleaseItemExclusive vymazat zámek na data položky relace, a pak volá metodu GetItem znovu.
Parametr se actionFlags
používá, když jsou atributy i regenerateExpiredSessionId
cookieless
nastaveny na true
hodnotu . Hodnota nastavená actionFlags
na InitializeItem označuje, že položka v úložišti dat relace je nová relace, která vyžaduje inicializaci. Neinicializované položky v úložišti dat relace jsou vytvořeny voláním CreateUninitializedItem metody. Pokud položka z úložiště dat relace není neinicializovaná položka, actionFlags
parametr se nastaví na nulu.
Implementátory vlastního úložiště stavu relací, které podporují relace bez souborů cookie, by měly nastavit actionFlags
out
parametr na hodnotu vrácenou z úložiště dat relace pro aktuální položku. Pokud se hodnota parametru actionFlags
požadované položky úložiště relací rovná hodnotě InitializeItem výčtu GetItem , měla by metoda nastavit hodnotu v úložišti dat na nulu po nastavení parametru actionFlags
out
.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro