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 クラスの概要の「セッション ストア データのロック」を参照してください。
- actions
- SessionStateActions
このメソッドが返されるときに、現在のセッションが初期化されていない cookieless セッションかどうかを示す SessionStateActions 値の 1 つを含みます。
戻り値
セッション値およびセッション データ ストアからの情報を含む SessionStateStoreData。
例
セッション状態ストア プロバイダーの実装例については、「 Session-State ストア プロバイダーの実装」を参照してください。
注釈
オブジェクトはSessionStateModule、 属性が GetItemExclusive に設定されている場合EnableSessionState、イベント中AcquireRequestStateに要求の開始時に true
メソッドを呼び出します。これは既定です。 属性が EnableSessionState に ReadOnly
設定されている場合、 オブジェクトは SessionStateModule 代わりに メソッドを GetItem 呼び出します。
メソッドは GetItemExclusive 、データ ストアからセッション情報が設定されたオブジェクトを返 SessionStateStoreData し、格納されているデータの有効期限を更新し、要求の期間中、データ ストアのセッション項目データをロックします。 データ ストアでセッション項目データが見つからない場合、 GetItemExclusive メソッドは パラメーターを locked
out
に設定し、 を false
返します null
。 これにより、 オブジェクトは SessionStateModule メソッドを呼び出 CreateNewStoreData して、データ ストアに新しいセッション項目を作成します。 データ ストアでセッション項目データが見つかったが、データがロックされている場合、メソッドは パラメーターを locked
out
にout
true
lockAge
設定し、GetItemExclusiveパラメーターを現在の日付と時刻からアイテムがロックされた日時 (データ ストアから取得) を引いた値に設定し、パラメーターをデータ ストアから取得したロック識別子に設定lockId
out
します。 と は を返しますnull
。 これにより、オブジェクトは SessionStateModule 、セッション項目情報の GetItemExclusive 取得とデータのロックの取得を試行する半秒間の間隔の後にメソッドを再度呼び出します。 パラメーターが に設定されている値が lockAge
out
値を超える ExecutionTimeout 場合、 SessionStateModule は メソッドを ReleaseItemExclusive 呼び出してセッション項目データのロックをクリアし、メソッドをもう GetItemExclusive 一度呼び出します。
パラメーターはactionFlags
、 属性と regenerateExpiredSessionId
属性のcookieless
両方が に設定されている場合にtrue
使用されます。 に設定されたInitializeItem値はactionFlags
、セッション データ ストア内のエントリが、初期化を必要とする新しいセッションであることを示します。 セッション データ ストア内の初期化されていないエントリは、 メソッドの CreateUninitializedItem 呼び出しによって作成されます。 セッション データ ストアの項目が初期化されていない項目でない場合、 actionFlags
パラメーターは 0 に設定されます。
Cookie レス セッションをサポートするカスタム セッション状態ストアの実装者は、 パラメーターを actionFlags
out
、現在の項目のセッション データ ストアから返される値に設定する必要があります。 要求されたセッション ストア項目の actionFlags
パラメーター値が列挙値と等しい InitializeItem 場合、 GetItemExclusive メソッドは パラメーターを設定した後、データ ストアの値を 0 に設定する actionFlags
out
必要があります。
適用対象
こちらもご覧ください
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示