Aracılığıyla paylaş


SessionStateStoreProviderBase.GetItem Yöntem

Tanım

Oturum veri deposundan salt okunur oturum durumu verilerini döndürür.

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

Parametreler

context
HttpContext

Geçerli isteğin HttpContext.

id
String

Geçerli isteğin SessionID.

locked
Boolean

Bu yöntem döndürdüğünde, istenen oturum öğesi oturum veri deposunda kilitliyse true olarak ayarlanmış bir Boole değeri içerir; aksi takdirde false.

lockAge
TimeSpan

Bu yöntem döndürdüğünde, oturum veri deposundaki bir öğenin kilitlendiği süreye ayarlanmış bir TimeSpan nesnesi içerir.

lockId
Object

Bu yöntem döndürdüğünde, geçerli isteğin kilit tanımlayıcısına ayarlanmış bir nesne içerir. Kilit tanımlayıcısı hakkında ayrıntılı bilgi için SessionStateStoreProviderBase sınıf özetindeki "Session-Store Verileri Kilitleme" bölümüne bakın.

actions
SessionStateActions

Bu yöntem döndürdüğünde, geçerli oturumun başlatılmamış, tanımlama bilgisi olmayan bir oturum olup olmadığını gösteren SessionStateActions değerlerinden birini içerir.

Döndürülenler

Oturum veri deposundaki oturum değerleri ve bilgilerle doldurulmuş bir SessionStateStoreData.

Örnekler

Oturum durumu depolama sağlayıcısı uygulaması örneği için bkz. Session-State Deposu Sağlayıcısı uygulama.

Açıklamalar

SessionStateModule nesnesi, EnableSessionState özniteliği ReadOnlyolarak ayarlandığında, AcquireRequestState olayı sırasında isteğin başında GetItem yöntemini çağırır. EnableSessionState özniteliği trueolarak ayarlanırsa, SessionStateModule nesnesi bunun yerine GetItemExclusive yöntemini çağırır.

GetItem yöntemi, veri deposundaki oturum bilgileriyle doldurulmuş bir SessionStateStoreData nesnesi döndürür ve oturum verilerinin sona erme tarihini güncelleştirir. Veri deposunda oturum öğesi verisi bulunmazsa, GetItem yöntemi lockedout parametresini false olarak ayarlar ve nulldöndürür. Bu, SessionStateModule nesnesinin veri deposunda yeni bir oturum öğesi oluşturmak için CreateNewStoreData yöntemini çağırmasına neden olur.

Oturum öğesi verileri veri deposunda bulunursa ancak veriler kilitliyse, GetItem yöntemi lockedout parametresini trueolarak ayarlar, lockAgeout parametresini geçerli tarih ve saate ayarlar; öğenin kilitlendiği tarih ve saat eksi (veri deposundan alınır), lockIdout parametresini veri deposundan alınan kilit tanımlayıcısına ayarlar, ve nulldöndürür. Bu, SessionStateModule nesnesinin oturum öğesi bilgilerini almaya çalışmak için yarım saniyelik bir aralık sonrasında GetItem yöntemini yeniden çağırmasına neden olur.

lockAge out parametresinin değeri ExecutionTimeout değerini aşacak şekilde ayarlanırsa, SessionStateModule nesnesi oturum öğesi verilerinde kilidi temizlemek için ReleaseItemExclusive yöntemini çağırır ve ardından GetItem yöntemini yeniden çağırır.

hem cookieless hem de regenerateExpiredSessionId öznitelikleri trueolarak ayarlandığında actionFlags parametresi kullanılır. InitializeItem olarak ayarlanmış bir actionFlags değeri, oturum veri deposundaki girişin başlatma gerektiren yeni bir oturum olduğunu gösterir. Oturum veri deposundaki başlatılmamış girdiler, CreateUninitializedItem yöntemine yapılan bir çağrıyla oluşturulur. Oturum veri deposundaki öğe başlatılmamış bir öğe değilse, actionFlags parametresi sıfır olarak ayarlanır.

Tanımlama bilgisi olmayan oturumları destekleyen özel oturum durumu deposu uygulayıcıları, actionFlagsout parametresini geçerli öğe için oturum veri deposundan döndürülen değere ayarlamalıdır. İstenen oturum deposu öğesinin actionFlags parametre değeri InitializeItem numaralandırma değerine eşitse, GetItem yöntemi actionFlagsout parametresini ayarladıktan sonra veri deposundaki değeri sıfır olarak ayarlamalıdır.

Şunlara uygulanır

Ayrıca bkz.