SessionStateStoreProviderBase.GetItem Metod

Definition

Returnerar skrivskyddade sessionstillståndsdata från sessionsdatalagret.

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

Parametrar

context
HttpContext

För HttpContext den aktuella begäran.

id
String

För SessionID den aktuella begäran.

locked
Boolean

När den här metoden returnerar innehåller ett booleskt värde som anges till true om det begärda sessionsobjektet är låst i sessionsdatalagret, falseannars .

lockAge
TimeSpan

När den här metoden returnerar innehåller ett TimeSpan objekt som är inställt på hur lång tid ett objekt i sessionsdatalagret har låsts.

lockId
Object

När den här metoden returneras innehåller ett objekt som är inställt på låsidentifieraren för den aktuella begäran. Mer information om låsidentifieraren finns i "Låsa Session-Store data" i klasssammanfattningen SessionStateStoreProviderBase .

actions
SessionStateActions

När den här metoden returnerar innehåller ett av SessionStateActions värdena, som anger om den aktuella sessionen är en icke-initierad, cookielös session.

Returer

Ett SessionStateStoreData fyllt med sessionsvärden och information från sessionsdatalagret.

Exempel

Ett exempel på en implementering av en sessionstillståndslagerprovider finns i Implementera en Session-State Store-provider.

Kommentarer

Objektet SessionStateModule anropar GetItem metoden i början av en begäran, under AcquireRequestState händelsen, när EnableSessionState attributet är inställt på ReadOnly. EnableSessionState Om attributet är inställt på trueanropar SessionStateModuleGetItemExclusive objektet i stället metoden.

Metoden GetItem returnerar ett SessionStateStoreData objekt som fylls i med sessionsinformation från datalagret och uppdaterar förfallodatumet för sessionsdata. Om inga sessionsobjektdata hittas i datalagret anger GetItem metoden parametern lockedout till false och returnerar null. Detta gör SessionStateModule att objektet anropar CreateNewStoreData metoden för att skapa ett nytt sessionsobjekt i datalagret.

Om sessionsobjektdata hittas i datalagret men data är låsta anger GetItem metoden parametern lockedout till true, anger lockAgeout parametern till aktuellt datum och tid minus datum och tid när objektet låstes (som hämtas från datalagret), anger lockIdout parametern till låsidentifieraren som hämtats från datalagret. och returnerar null. Detta gör SessionStateModule att objektet anropar GetItem metoden igen efter ett halvsekundersintervall för att försöka hämta informationen om sessionsobjektet.

Om värdet som parametern lockAgeout är inställd på att överskrida ExecutionTimeout värdet anropar SessionStateModuleReleaseItemExclusive objektet metoden för att rensa låset på sessionsobjektdata och anropar GetItem sedan metoden igen.

Parametern actionFlags används när både attributen cookieless och regenerateExpiredSessionId är inställda på true. Ett actionFlags värde som anges till InitializeItem anger att posten i sessionsdatalagret är en ny session som kräver initiering. Uninitialiserade poster i sessionsdatalagret skapas genom ett anrop till CreateUninitializedItem metoden. Om objektet från sessionsdatalagret inte är ett onitialiserat objekt anges parametern actionFlags till noll.

Anpassade sessionstillståndslager implementerare som stöder cookielösa sessioner bör ange parametern actionFlagsout till det värde som returneras från sessionsdatalagret för det aktuella objektet. actionFlags Om parametervärdet för det begärda objektet session-store är lika med uppräkningsvärdet GetItemInitializeItem bör metoden ange värdet i datalagret till noll när parametern har angettsactionFlagsout.

Gäller för

Se även