次の方法で共有


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 クラスの概要の「Session-Store データのロック」を参照してください。

actions
SessionStateActions

このメソッドから制御が戻るときに、現在のセッションが初期化されていない Cookie レス セッションであるかどうかを示す、SessionStateActions 値のいずれかが含まれます。

戻り値

セッション値とセッション データ ストアからの情報が設定された SessionStateStoreData

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

注釈

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

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

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

lockAge out パラメーターの値が ExecutionTimeout 値を超える場合、SessionStateModule オブジェクトは ReleaseItemExclusive メソッドを呼び出してセッション項目データのロックをクリアしてから、GetItem メソッドをもう一度呼び出します。

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

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

適用対象

こちらもご覧ください