SessionStateStoreProviderBase.GetItemExclusive メソッド

定義

セッション データ ストアから読み取り専用のセッション状態データを返します。

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

id
String

現在の要求に関する SessionID

locked
Boolean

このメソッドが返されるときに、ロックの取得に成功した場合はブール値 true、それ以外の場合は false を含みます。

lockAge
TimeSpan

このメソッドが返されるときに、セッション データ ストアの項目がロックされた時間に設定された TimeSpan オブジェクトを含みます。

lockId
Object

このメソッドが返されるときに、現在の要求のロック識別子に設定されたオブジェクトを含みます。 ロック識別子の詳細については、SessionStateStoreProviderBase クラスの概要の「セッション ストア データのロック」を参照してください。

actions
SessionStateActions

このメソッドが返されるときに、現在のセッションが初期化されていない cookieless セッションかどうかを示す SessionStateActions 値の 1 つを含みます。

戻り値

セッション値およびセッション データ ストアからの情報を含む SessionStateStoreData

セッション状態ストア プロバイダーの実装例については、「 Session-State ストア プロバイダーの実装」を参照してください。

注釈

オブジェクトはSessionStateModule、 属性が GetItemExclusive に設定されている場合EnableSessionState、イベント中AcquireRequestStateに要求の開始時に trueメソッドを呼び出します。これは既定です。 属性が EnableSessionStateReadOnly設定されている場合、 オブジェクトは SessionStateModule 代わりに メソッドを GetItem 呼び出します。

メソッドは GetItemExclusive 、データ ストアからセッション情報が設定されたオブジェクトを返 SessionStateStoreData し、格納されているデータの有効期限を更新し、要求の期間中、データ ストアのセッション項目データをロックします。 データ ストアでセッション項目データが見つからない場合、 GetItemExclusive メソッドは パラメーターを lockedout に設定し、 を false 返します null。 これにより、 オブジェクトは SessionStateModule メソッドを呼び出 CreateNewStoreData して、データ ストアに新しいセッション項目を作成します。 データ ストアでセッション項目データが見つかったが、データがロックされている場合、メソッドは パラメーターを lockedoutouttruelockAge設定し、GetItemExclusiveパラメーターを現在の日付と時刻からアイテムがロックされた日時 (データ ストアから取得) を引いた値に設定し、パラメーターをデータ ストアから取得したロック識別子に設定lockIdoutします。 と は を返しますnull。 これにより、オブジェクトは SessionStateModule 、セッション項目情報の GetItemExclusive 取得とデータのロックの取得を試行する半秒間の間隔の後にメソッドを再度呼び出します。 パラメーターが に設定されている値が lockAgeout 値を超える ExecutionTimeout 場合、 SessionStateModule は メソッドを ReleaseItemExclusive 呼び出してセッション項目データのロックをクリアし、メソッドをもう GetItemExclusive 一度呼び出します。

パラメーターはactionFlags、 属性と regenerateExpiredSessionId 属性のcookieless両方が に設定されている場合にtrue使用されます。 に設定されたInitializeItem値はactionFlags、セッション データ ストア内のエントリが、初期化を必要とする新しいセッションであることを示します。 セッション データ ストア内の初期化されていないエントリは、 メソッドの CreateUninitializedItem 呼び出しによって作成されます。 セッション データ ストアの項目が初期化されていない項目でない場合、 actionFlags パラメーターは 0 に設定されます。

Cookie レス セッションをサポートするカスタム セッション状態ストアの実装者は、 パラメーターを actionFlagsout 、現在の項目のセッション データ ストアから返される値に設定する必要があります。 要求されたセッション ストア項目の actionFlags パラメーター値が列挙値と等しい InitializeItem 場合、 GetItemExclusive メソッドは パラメーターを設定した後、データ ストアの値を 0 に設定する actionFlagsout 必要があります。

適用対象

こちらもご覧ください