GetItem
このメソッドは、データベースから読取り専用セッション項目を戻します。
宣言
// C# public override SessionStateStoreData GetItem(HttpContext context, string id, out bool locked, out TimeSpan lockAge, out Object lockId, out SessionStateActions actions);
パラメータ
-
context
現在のリクエストの
HttpContext
オブジェクト。 -
id
現在のリクエストのセッションID。
-
locked
セッション項目がデータベース内でロックされている場合は
true
で、それ以外の場合はfalse
であるブール値。 -
lockAge
セッション項目がデータベース内でロックされていた時間の長さを示す
TimeSpan
オブジェクト。 -
lockId
ロック識別子オブジェクト。
-
actions
セッションが初期化されず、cookieがないかどうかを示す
SessionStateActions
列挙値。
戻り値
データベースからのセッション情報を含むSessionStateStoreData
オブジェクト。
例外
ArgumentNullException
- 入力パラメータはNullです。
OracleException
- Oracle関連のエラーが発生しました。
System.Configuration.Provider.ProviderException
- セッション状態情報が無効であり、破損している可能性があります。
備考
このメソッドは、データベースから読取り専用SessionStateStoreData
オブジェクトを戻し、セッション項目の失効日を更新します。このメソッドは、リクエストの先頭でセッション状態サービスによって呼び出されます。ページのEnableSessionState
属性がReadOnly
に設定されている場合にのみ呼び出されます。
セッション・データが見つからない場合は、locked
パラメータがfalse
に設定され、null参照が戻されます。セッション状態サービスは、CreateNewStoreData
メソッドを呼び出して、データベースに新しいセッション項目を作成します。
セッション・データがデータベースでロックされている場合は、locked
パラメータがtrue
に設定され、lockAge
パラメータは、データベースでセッション項目がロックされていた時間の長さに設定されます。lockId
パラメータはロック識別子に設定され、null参照が戻されます。セッション状態サービスは、このメソッドを0.5秒間隔で呼び出し続けます。lockAge
値がHttpRuntimeSection.ExecutionTimeout
値を超えた場合、セッション状態サービスはReleaseItemExclusive
メソッドを呼び出してロックを解除します。さらに、GetItem
メソッドを再度呼び出します。