SessionStateStoreProviderBase.GetItemExclusive Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan data status sesi baca-saja dari penyimpanan data sesi.
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
Parameter
- context
- HttpContext
HttpContext untuk permintaan saat ini.
- locked
- Boolean
Ketika metode ini kembali, berisi nilai Boolean yang diatur ke true jika kunci berhasil diperoleh; jika tidak, false.
- lockAge
- TimeSpan
Ketika metode ini kembali, berisi objek TimeSpan yang diatur ke jumlah waktu item di penyimpanan data sesi telah dikunci.
- lockId
- Object
Ketika metode ini kembali, berisi objek yang diatur ke pengidentifikasi kunci untuk permintaan saat ini. Untuk detail tentang pengidentifikasi kunci, lihat "Mengunci Data Session-Store" di ringkasan kelas SessionStateStoreProviderBase.
- actions
- SessionStateActions
Ketika metode ini kembali, berisi salah satu nilai SessionStateActions, menunjukkan apakah sesi saat ini tidak diinisialisasi, sesi tanpa cookie.
Mengembalikan
SessionStateStoreData diisi dengan nilai sesi dan informasi dari penyimpanan data sesi.
Contoh
Untuk contoh implementasi penyedia penyimpanan status sesi, lihat Menerapkan Penyedia Penyimpanan Session-State.
Keterangan
Objek SessionStateModule memanggil metode GetItemExclusive di awal permintaan, selama peristiwa AcquireRequestState, ketika atribut EnableSessionState diatur ke true, yang merupakan default. Jika atribut EnableSessionState diatur ke ReadOnly, objek SessionStateModule akan memanggil metode GetItem.
Metode GetItemExclusive mengembalikan objek SessionStateStoreData yang diisi dengan informasi sesi dari penyimpanan data, memperbarui tanggal kedaluwarsa data yang disimpan, dan mengunci data item sesi di penyimpanan data selama durasi permintaan. Jika tidak ada data item sesi yang ditemukan di penyimpanan data, metode GetItemExclusive mengatur parameter lockedout ke false dan mengembalikan null. Ini menyebabkan objek SessionStateModule memanggil metode CreateNewStoreData untuk membuat item sesi baru di penyimpanan data. Jika data item sesi ditemukan di penyimpanan data tetapi data dikunci, metode GetItemExclusive mengatur parameter lockedout ke true, mengatur parameter lockAgeout ke tanggal dan waktu saat ini dikurangi tanggal dan waktu ketika item dikunci (yang diambil dari penyimpanan data), mengatur parameter lockIdout ke pengidentifikasi kunci yang diambil dari penyimpanan data, dan mengembalikan null. Ini menyebabkan objek SessionStateModule memanggil metode GetItemExclusive lagi setelah interval setengah detik untuk mencoba mengambil informasi item sesi dan mendapatkan kunci pada data. Jika nilai yang diatur parameter lockAgeout melebihi nilai ExecutionTimeout, maka SessionStateModule memanggil metode ReleaseItemExclusive untuk menghapus kunci pada data item sesi, lalu memanggil metode GetItemExclusive lagi.
Parameter actionFlags digunakan saat atribut cookieless dan regenerateExpiredSessionId keduanya diatur ke true. Nilai actionFlags yang diatur ke InitializeItem menunjukkan bahwa entri di penyimpanan data sesi adalah sesi baru yang memerlukan inisialisasi. Entri yang tidak diinisialisasi di penyimpanan data sesi dibuat oleh panggilan ke metode CreateUninitializedItem. Jika item dari penyimpanan data sesi bukan item yang tidak diinisialisasi, parameter actionFlags akan diatur ke nol.
Implementer penyimpanan status sesi kustom yang mendukung sesi tanpa cookie harus mengatur parameter actionFlagsout ke nilai yang dikembalikan dari penyimpanan data sesi untuk item saat ini. Jika nilai parameter actionFlags untuk item penyimpanan sesi yang diminta sama dengan nilai enumerasi InitializeItem, maka metode GetItemExclusive harus mengatur nilai di penyimpanan data menjadi nol setelah mengatur parameter actionFlagsout.
Berlaku untuk
Lihat juga
- Gambaran Umum Status Sesi
ASP.NET