SessionStateStoreProviderBase.GetItem メソッド

定義

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

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

パラメーター

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、 属性が GetItem に設定されている場合、イベント中に要求のAcquireRequestState開始時に メソッドをEnableSessionStateReadOnly呼び出します。 属性が EnableSessionStatetrue設定されている場合、 オブジェクトは SessionStateModule 代わりに メソッドを GetItemExclusive 呼び出します。

メソッドは GetItemSessionStateStoreData データ ストアからセッション情報が設定された オブジェクトを返し、セッション データの有効期限を更新します。 データ ストアでセッション項目データが見つからない場合、 GetItem メソッドは パラメーターを lockedout に設定し、 を false 返します null。 これにより、 オブジェクトは SessionStateModule メソッドを呼び出 CreateNewStoreData して、データ ストアに新しいセッション項目を作成します。

データ ストアでセッション項目データが見つかったが、データがロックされている場合、メソッドは パラメーターを lockedoutouttruelockAge設定し、GetItemパラメーターを現在の日付と時刻からアイテムがロックされた日時 (データ ストアから取得) を引いた値に設定し、パラメーターをデータ ストアから取得したロック識別子に設定lockIdoutします。 と は を返しますnull。 これにより、 SessionStateModule 5 分の 1 の間隔でセッション項目情報の GetItem 取得が試行された後、オブジェクトはメソッドを再度呼び出します。

パラメーターが値を lockAgeoutExecutionTimeout える値に設定されている場合、 SessionStateModule オブジェクトは メソッドを ReleaseItemExclusive 呼び出してセッション項目データのロックをクリアし、メソッドをもう GetItem 一度呼び出します。

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

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

適用対象

こちらもご覧ください