Aracılığıyla paylaş


SessionStateStoreProviderBase.GetItemExclusive Yöntem

Tanım

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

public:
 abstract System::Web::SessionState::SessionStateStoreData ^ GetItemExclusive(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 GetItemExclusive (System.Web.HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out System.Web.SessionState.SessionStateActions actions);
abstract member GetItemExclusive : System.Web.HttpContext * string * bool * TimeSpan * obj * SessionStateActions -> System.Web.SessionState.SessionStateStoreData
Public MustOverride Function GetItemExclusive (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

HttpContext Geçerli isteğin için.

id
String

SessionID Geçerli isteğin için.

locked
Boolean

Bu yöntem döndürdüğünde, bir kilit başarıyla elde edilirse olarak ayarlanmış true bir Boole değeri içerir; aksi takdirde, false.

lockAge
TimeSpan

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

lockId
Object

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

actions
SessionStateActions

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

Döndürülenler

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

Örnekler

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

Açıklamalar

SessionStateModule nesnesi, özniteliği varsayılan olan olarak ayarlandığındatrue, olay sırasında AcquireRequestState isteğin EnableSessionState başında yöntemini çağırırGetItemExclusive. EnableSessionState özniteliği olarak ReadOnlySessionStateModule ayarlanırsa, nesne bunun yerine yöntemini çağırırGetItem.

GetItemExclusive yöntemi, veri deposundaki oturum bilgileriyle doldurulmuş bir SessionStateStoreData nesne döndürür, depolanan verilerin son kullanma tarihini güncelleştirir ve istek süresi boyunca veri deposundaki oturum öğesi verilerini kilitler. Veri deposunda hiçbir oturum öğesi verisi bulunmazsa yöntemi parametresini GetItemExclusivelockedout olarak false ayarlar ve döndürür.null Bu, nesnesinin SessionStateModule veri deposunda yeni bir oturum öğesi oluşturmak için yöntemini çağırmasına CreateNewStoreData neden olur. Veri deposunda oturum öğesi verileri bulunursa ancak veriler kilitliyse, yöntemi parametresini olarak ayarlarlockedout, GetItemExclusive parametreyi truegeçerli tarih ve saat olarak ayarlarlockAgeout, öğenin kilitlendiği tarih ve saat çıkarılarak (veri deposundan alınır), parametreyi veri deposundan alınan kilit tanımlayıcısına ayarlarlockIdout, ve döndürürnull. Bu, oturum öğesi bilgilerini almayı ve veriler üzerinde bir kilit almayı denemesi için yarım saniyelik bir aralık sonrasında nesnesinin yöntemini yeniden çağırmasına GetItemExclusive neden olurSessionStateModule. Parametresinin lockAgeout ayarlandığı değer değeri aşıyorsa ExecutionTimeout , SessionStateModule oturum öğesi verilerindeki kilidi temizlemek için yöntemini çağırır ReleaseItemExclusive ve ardından yöntemini yeniden çağırır GetItemExclusive .

actionFlags parametresi, ve regenerateExpiredSessionId özniteliklerinin her ikisi de olarak trueayarlandığında kullanılırcookieless. actionFlags olarak ayarlanan InitializeItem değer, oturum veri deposundaki girişin başlatma gerektiren yeni bir oturum olduğunu gösterir. Oturum veri deposundaki başlatılmamış girdiler yöntemine CreateUninitializedItem yapılan bir çağrı tarafından oluşturulur. Oturum veri deposundaki öğe başlatılmamış bir öğe değilse, actionFlags parametre sıfır olarak ayarlanır.

Tanımlama bilgisi olmayan oturumları destekleyen özel oturum durumu deposu uygulayıcıları, parametreyi actionFlagsout 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 numaralandırma değerine eşitse InitializeItem , yöntemin GetItemExclusive parametreyi ayarladıktan sonra veri deposundaki değeri sıfır olarak ayarlaması actionFlagsout gerekir.

Şunlara uygulanır

Ayrıca bkz.