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 TimeSpan objek 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 SessionStateStoreProviderBase ringkasan kelas.
- actions
- SessionStateActions
Ketika metode ini kembali, berisi salah SessionStateActions satu nilai, menunjukkan apakah sesi saat ini adalah sesi tanpa inisialisasi cookie.
Mengembalikan
Diisi SessionStateStoreData 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 GetItemExclusive metode di awal permintaan, selama AcquireRequestState peristiwa, ketika EnableSessionState atribut diatur ke true
, yang merupakan default. EnableSessionState Jika atribut diatur ke ReadOnly
, objek sebagai gantinya SessionStateModuleGetItem memanggil metode .
Metode mengembalikan GetItemExclusive objek yang SessionStateStoreData 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, GetItemExclusive metode mengatur locked
out
parameter ke false
dan mengembalikan null
. Ini menyebabkan SessionStateModule objek memanggil CreateNewStoreData metode untuk membuat item sesi baru di penyimpanan data. Jika data item sesi ditemukan di penyimpanan data tetapi data dikunci, GetItemExclusive metode mengaturout
locked
parameter ke true
, mengatur lockAge
out
parameter ke tanggal dan waktu saat ini dikurangi tanggal dan waktu ketika item dikunci (yang diambil dari penyimpanan data), mengatur lockId
out
parameter ke pengidentifikasi kunci yang diambil dari penyimpanan data, dan mengembalikan null
. Ini menyebabkan SessionStateModule objek memanggil GetItemExclusive metode lagi setelah interval setengah detik mencoba mengambil informasi item sesi dan mendapatkan kunci pada data. Jika nilai yang lockAge
out
diatur parameter melebihi ExecutionTimeout nilai, maka SessionStateModule memanggil ReleaseItemExclusive metode untuk menghapus kunci pada data item sesi, lalu memanggil GetItemExclusive metode lagi.
Parameter actionFlags
digunakan ketika cookieless
atribut 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 dalam penyimpanan data sesi dibuat oleh panggilan ke CreateUninitializedItem metode . Jika item dari penyimpanan data sesi bukan item yang tidak diinisialisasi, actionFlags
parameter akan diatur ke nol.
Pelaksana penyimpanan status sesi kustom yang mendukung sesi tanpa cookie harus mengatur actionFlags
out
parameter ke nilai yang dikembalikan dari penyimpanan data sesi untuk item saat ini. actionFlags
Jika nilai parameter untuk item penyimpanan sesi yang diminta sama dengan InitializeItem nilai enumerasi, GetItemExclusive maka metode harus mengatur nilai di penyimpanan data ke nol setelah mengatur actionFlags
out
parameter.
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk