SessionStateStoreProviderBase.GetItemExclusive メソッド
メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。
セッション データ ストアから読み取り専用のセッション状態データを返します。
名前空間: System.Web.SessionState
アセンブリ: System.Web (system.web.dll 内)
構文
Public MustOverride Function GetItemExclusive ( _ context As HttpContext, _ id As String, _ <OutAttribute> ByRef locked As Boolean, _ <OutAttribute> ByRef lockAge As TimeSpan, _ <OutAttribute> ByRef lockId As Object, _ <OutAttribute> ByRef actions As SessionStateActions _ ) As SessionStateStoreData
Dim instance As SessionStateStoreProviderBase Dim context As HttpContext Dim id As String Dim locked As Boolean Dim lockAge As TimeSpan Dim lockId As Object Dim actions As SessionStateActions Dim returnValue As SessionStateStoreData returnValue = instance.GetItemExclusive(context, id, locked, lockAge, lockId, actions)
public abstract SessionStateStoreData GetItemExclusive ( HttpContext context, string id, out bool locked, out TimeSpan lockAge, out Object lockId, out SessionStateActions actions )
public: virtual SessionStateStoreData^ GetItemExclusive ( HttpContext^ context, String^ id, [OutAttribute] bool% locked, [OutAttribute] TimeSpan% lockAge, [OutAttribute] Object^% lockId, [OutAttribute] SessionStateActions% actions ) abstract
public abstract SessionStateStoreData GetItemExclusive ( HttpContext context, String id, /** @attribute OutAttribute() */ /** @ref */ boolean locked, /** @attribute OutAttribute() */ /** @ref */ TimeSpan lockAge, /** @attribute OutAttribute() */ /** @ref */ Object lockId, /** @attribute OutAttribute() */ /** @ref */ SessionStateActions actions )

SessionStateModule オブジェクトは、要求の開始時の AcquireRequestState イベントで EnableSessionState 属性を既定値の true に設定する際に、GetItemExclusive メソッドを呼び出します。EnableSessionState 属性を ReadOnly に設定すると、代わりに SessionStateModule オブジェクトが GetItem メソッドを呼び出します。
GetItemExclusive メソッドはデータ ストアからのセッション情報を含む SessionStateStoreData オブジェクトを返し、保存されているデータの有効期限を更新し、データ ストアのセッション項目データを要求の期間中ロックします。データ ストアにセッション項目データが見つからない場合、GetItemExclusive メソッドは locked out パラメータを false に設定し、null 参照 (Visual Basic では Nothing) を返します。その結果、SessionStateModule オブジェクトは CreateNewStoreData メソッドを呼び出してデータ ストアに新しいセッション項目を作成します。セッション項目データがデータ ストアにあり、ロックされている場合、GetItemExclusive メソッドは locked out パラメータを true に設定し、lockAge out パラメータを現在の日時から項目がロックされた日時 (データ ストアから取得) を減算した値に設定し、lockId out パラメータをロック識別子 (データ ストアから取得) に設定し、null 参照 (Visual Basic では Nothing) を返します。その結果、SessionStateModule オブジェクトは、0.5 秒後に再び GetItemExclusive メソッドを呼び出し、セッション項目情報の取得とデータのロックの取得を試みます。lockAge out パラメータに設定されている値が ExecutionTimeout 値を超える場合、SessionStateModule は ReleaseItemExclusive メソッドを呼び出してセッション項目データのロックを解除し、再び GetItemExclusive メソッドを呼び出します。
cookieless 属性と regenerateExpiredSessionId 属性の両方が true に設定されている場合は、actionFlags パラメータが使用されます。InitializeItem に設定されている actionFlags 値は、セッション データ ストアのエントリが初期化を必要とする新しいセッションであることを示します。セッション データ ストアの初期化されていないエントリは、CreateUninitializedItem メソッドを呼び出して作成します。セッション データ ストアの項目が初期化されている場合、actionFlags パラメータはゼロに設定されます。
cookieless セッションをサポートするカスタム セッション状態ストアの実装側は、actionFlags out パラメータを現在の項目のセッション データ ストアから返される値に設定する必要があります。要求されたセッション ストア項目の actionFlags パラメータ値が InitializeItem 列挙値に等しい場合、GetItemExclusive メソッドは、actionFlags out パラメータを設定した後にデータ ストアの値をゼロに設定する必要があります。


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSessionStateStoreProviderBase.GetItemExclusive メソッドを検索する場合は、下記のリンクをクリックしてください。

- SessionStateStoreProviderBase.GetItemExclusive メソッドのページへのリンク