SessionStateStoreProviderBase.GetItemExclusive Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Geçerli isteğin HttpContext.
- locked
- Boolean
Bu yöntem döndürdüğünde, bir kilit başarıyla elde edilirse 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 varsayılan olan true
olarak ayarlandığında AcquireRequestState olayı sırasında isteğin başında GetItemExclusive yöntemini çağırır.
EnableSessionState özniteliği ReadOnly
olarak ayarlanırsa, SessionStateModule nesnesi bunun yerine GetItem yöntemini çağırır.
GetItemExclusive yöntemi, veri deposundaki oturum bilgileriyle doldurulmuş bir SessionStateStoreData nesnesi 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 oturum öğesi verisi bulunmazsa, GetItemExclusive yöntemi locked
out
parametresini false
olarak ayarlar ve null
dö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, GetItemExclusive yöntemi locked
out
parametresini true
olarak ayarlar, lockAge
out
parametresini geçerli tarih ve saate ayarlar; öğenin kilitlendiği tarih ve saat eksi (veri deposundan alınır), lockId
out
parametresini veri deposundan alınan kilit tanımlayıcısına ayarlar, ve null
döndürür. Bu, SessionStateModule nesnesinin oturum öğesi bilgilerini almayı ve veriler üzerinde bir kilit almayı denemesi için yarım saniyelik bir süre sonra GetItemExclusive yöntemini yeniden çağırmasına neden olur.
lockAge
out
parametresinin ayarlandığı değer ExecutionTimeout değerini aşıyorsa, SessionStateModule oturum öğesi verilerindeki kilidi temizlemek için ReleaseItemExclusive yöntemini çağırır ve ardından GetItemExclusive yöntemini yeniden çağırır.
actionFlags
parametresi, cookieless
ve regenerateExpiredSessionId
özniteliklerinin her ikisi de true
olarak ayarlandığında 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ı, actionFlags
out
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, GetItemExclusive yöntemi actionFlags
out
parametresini ayarladıktan sonra veri deposundaki değeri sıfır olarak ayarlamalıdır.