SessionStateStoreProviderBase.GetItemExclusive メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
セッション データ ストアから読み取り専用のセッション状態データを返します。
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
パラメーター
- context
- HttpContext
現在の要求の HttpContext。
- locked
- Boolean
このメソッドから制御が戻るときに、ロックが正常に取得された場合に true
に設定されるブール値が格納されます。それ以外の場合は、false
します。
- lockId
- Object
このメソッドから制御が戻るときに、現在の要求のロック識別子に設定されたオブジェクトが格納されます。 ロック識別子の詳細については、SessionStateStoreProviderBase クラスの概要の「Session-Store データのロック」を参照してください。
- actions
- SessionStateActions
このメソッドから制御が戻るときに、現在のセッションが初期化されていない Cookie レス セッションであるかどうかを示す、SessionStateActions 値のいずれかが含まれます。
戻り値
セッション値とセッション データ ストアからの情報が設定された SessionStateStoreData。
例
セッション状態ストア プロバイダーの実装の例については、「Session-State ストア プロバイダーの実装」を参照してください。
注釈
SessionStateModule オブジェクトは、EnableSessionState 属性が既定の true
に設定されている場合、AcquireRequestState イベント中に、要求の開始時に GetItemExclusive メソッドを呼び出します。
EnableSessionState 属性が ReadOnly
に設定されている場合、SessionStateModule オブジェクトは代わりに GetItem メソッドを呼び出します。
GetItemExclusive メソッドは、データ ストアからセッション情報が設定された SessionStateStoreData オブジェクトを返し、格納されているデータの有効期限を更新し、要求の期間中、データ ストアのセッション項目データをロックします。 データ ストアでセッション項目データが見つからない場合、GetItemExclusive メソッドは、locked
out
パラメーターを false
に設定し、null
を返します。 これにより、SessionStateModule オブジェクトは CreateNewStoreData メソッドを呼び出して、データ ストアに新しいセッション項目を作成します。 データ ストアでセッション項目データが見つかったが、データがロックされている場合、GetItemExclusive メソッドは、locked
out
パラメーターを true
に設定し、lockAge
out
パラメーターを現在の日付と時刻からアイテムがロックされた日時 (データ ストアから取得される) を引いた日付と時刻に設定し、lockId
out
パラメーターをデータ ストアから取得したロック識別子に設定します。 null
を返します。 これにより、SessionStateModule オブジェクトは、セッション項目情報の取得とデータのロックの取得を試行する 5 分間隔後に、GetItemExclusive メソッドを再度呼び出します。
lockAge
out
パラメーターの値が ExecutionTimeout 値を超えると、SessionStateModule は ReleaseItemExclusive メソッドを呼び出してセッション項目データのロックをクリアしてから、GetItemExclusive メソッドをもう一度呼び出します。
actionFlags
パラメーターは、cookieless
属性と regenerateExpiredSessionId
属性の両方が true
に設定されている場合に使用されます。
InitializeItem に設定された actionFlags
値は、セッション データ ストア内のエントリが初期化を必要とする新しいセッションであることを示します。 セッション データ ストア内の初期化されていないエントリは、CreateUninitializedItem メソッドの呼び出しによって作成されます。 セッション データ ストアの項目が初期化されていない項目でない場合、actionFlags
パラメーターは 0 に設定されます。
Cookie レス セッションをサポートするカスタム セッション状態ストア実装者は、actionFlags
out
パラメーターを、現在の項目のセッション データ ストアから返される値に設定する必要があります。 要求されたセッション ストア項目の actionFlags
パラメーター値が InitializeItem 列挙値と等しい場合、GetItemExclusive メソッドは、actionFlags
out
パラメーターを設定した後、データ ストア内の値を 0 に設定する必要があります。
適用対象
こちらもご覧ください
.NET