Bagikan melalui


SessionStateStoreProviderBase.GetItem Metode

Definisi

Mengembalikan data keadaan sesi baca-saja dari penyimpanan data sesi.

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

Parameter

context
HttpContext

HttpContext untuk permintaan saat ini.

id
String

SessionID untuk permintaan saat ini.

locked
Boolean

Ketika metode ini kembali, berisi nilai Boolean yang diatur ke true jika item sesi yang diminta dikunci di penyimpanan data sesi; 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 tidak diinisialisasi, sesi tanpa 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 GetItem metode di awal permintaan, selama AcquireRequestState peristiwa, ketika EnableSessionState atribut diatur ke ReadOnly. EnableSessionState Jika atribut diatur ke true, SessionStateModule objek akan memanggil GetItemExclusive metode .

Metode mengembalikan GetItem objek yang SessionStateStoreData diisi dengan informasi sesi dari penyimpanan data dan memperbarui tanggal kedaluwarsa data sesi. Jika tidak ada data item sesi yang ditemukan di penyimpanan data, GetItem metode mengatur lockedout parameter ke false dan mengembalikan null. Hal 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, GetItem metode mengaturoutlockedparameter ke true, mengatur lockAgeout parameter ke tanggal dan waktu saat ini dikurangi tanggal dan waktu ketika item dikunci (yang diambil dari penyimpanan data), mengatur lockIdout parameter ke pengidentifikasi kunci yang diambil dari penyimpanan data, dan mengembalikan null. Ini menyebabkan SessionStateModule objek memanggil GetItem metode lagi setelah interval setengah detik untuk mencoba mengambil informasi item sesi.

Jika nilai parameter lockAgeout diatur untuk melebihi ExecutionTimeout nilai, maka SessionStateModule objek memanggil ReleaseItemExclusive metode untuk menghapus kunci pada data item sesi, lalu memanggil GetItem metode lagi.

Parameter actionFlags digunakan ketika cookieless atribut dan regenerateExpiredSessionId 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 keadaan sesi kustom yang mendukung sesi tanpa cookie harus mengatur actionFlagsout 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, maka GetItem metode harus mengatur nilai di penyimpanan data ke nol setelah mengatur actionFlagsout parameter .

Berlaku untuk

Lihat juga