SessionStateStoreProviderBaseとは? わかりやすく解説

SessionStateStoreProviderBase クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

データ ストアセッション状態プロバイダ必要なメンバ定義します

名前空間: System.Web.SessionState
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public MustInherit Class
 SessionStateStoreProviderBase
    Inherits ProviderBase
Dim instance As SessionStateStoreProviderBase
public abstract class SessionStateStoreProviderBase
 : ProviderBase
public ref class SessionStateStoreProviderBase
 abstract : public ProviderBase
public abstract class SessionStateStoreProviderBase
 extends ProviderBase
public abstract class SessionStateStoreProviderBase
 extends ProviderBase
解説解説

ASP.NETセッション状態は、セッション状態ストア プロバイダ使用してデータ ストアセッション データ読み取り/書き込み行いますセッション状態ストア プロバイダSessionStateStoreProviderBase 抽象クラス継承するクラスで、データ ストア固有の実装によってメンバオーバーライドます。セッション状態ストア プロバイダは、ASP.NET ページの処理中にデータ ストア通信してセッション変数およびタイムアウト値などの関連するセッション情報保存または取得するために、SessionStateModule クラスによって呼び出されます。

ASP.NET アプリケーションセッション データは、それぞれの SessionID プロパティに対して個別保存されます。ASP.NET アプリケーションは、セッション データ共有しません。

このトピックの例にあるように、sessionState 構成要素mode 属性Custom設定しcustomProvider 属性カスタム プロバイダの名前に設定すると、ASP.NET アプリケーションカスタムSessionStateStoreProviderBase実装できます

セッション ストア データロック

ASP.NET アプリケーションは、同時実行要求対す応答サポートするためにマルチスレッド化されるため、同時に複数要求が同じセッション情報アクセスする可能性あります。フレームセットの複数フレームがすべて同じアプリケーションアクセスする場合考慮してます。フレームセットの各フレーム対応する個々要求は、Web サーバー上の異なスレッド同時に実行できます。各フレーム ソースASP.NET ページセッション状態変数アクセスすると、セッション ストア同時に複数スレッドアクセスすることになります

セッション ストアにおけるデータ衝突およびセッション状態予期しない動作回避するには、SessionStateModule クラスおよび SessionStateStoreProviderBase クラスに、ASP.NET ページ実行間中特定のセッションに対してセッション ストアの項目を排他的にロックする機能含めます。EnableSessionState 属性ReadOnly になっている場合も、同じアプリケーションの他の ASP.NET ページセッション ストア書き込むことができるので、ストアセッション データ対す読み取り専用要求は、ロックされているデータ解放されるまで待機することになる可能性あります

ロックは、要求開始時に GetItemExclusive メソッド呼び出す際にセッション ストア データ設定されます。要求完了すると、ロックは SetAndReleaseItemExclusive メソッド呼び出し時に解除されます。

SessionStateModule オブジェクトGetItemExclusive メソッドまたは GetItem メソッド呼び出し中にロックされセッション データ遭遇すると、ロック解除されるか、またはセッション データロックされている時間が ExecutionTimeout プロパティの値を超えるまで、0.5 秒間隔でセッション データへの要求繰り返します実行時間タイムアウト値を超えると、SessionStateModule オブジェクトは ReleaseItemExclusive メソッド呼び出してセッション ストア データ解放しその時点でセッション ストア データ要求します

ロックされているセッション ストア データは、SetAndReleaseItemExclusive メソッド現在の応答に対して呼び出す前に別のスレッドReleaseItemExclusive メソッド呼び出して解放されていることがあるので、別のセッションによって既に解放されている変更済みセッション状態ストア データ設定解除試みることもありますこのような状況回避するために、GetItem メソッドおよび GetItemExclusive メソッドロック識別子返します。このロック識別子は、ロックされているセッション ストア データ変更するために各要求含める必要がありますセッション ストア データは、データ ストアロック識別子SessionStateModule提供するロック識別子一致する場合のみ変更できます

有効期限切れのセッション ストア データ削除
使用例使用例

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

カスタム セッション状態ストア プロバイダ使用するように構成されている ASP.NET アプリケーションの Web.config ファイルコード例次に示します

<configuration>
  <connectionStrings>
    <add name="OdbcSessionServices" connectionString="DSN=SessionState;" />
  </connectionStrings>

  <system.web>
    <sessionState 
      mode="Custom"
      customProvider="OdbcSessionProvider">
      <providers>
        <add name="OdbcSessionProvider"
             type="Samples.AspNet.Session.OdbcSessionStateStore"
             connectionStringName="OdbcSessionServices" />
      </providers>
    </sessionState>
  </system.web>
</configuration>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Configuration.Provider.ProviderBase
    System.Web.SessionState.SessionStateStoreProviderBase
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SessionStateStoreProviderBase メンバ
System.Web.SessionState 名前空間
その他の技術情報
ASP.NETセッション状態

SessionStateStoreProviderBase コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

SessionStateStoreProviderBase クラス新しインスタンス初期化します。

名前空間: System.Web.SessionState
アセンブリ: System.Web (system.web.dll 内)
構文構文

Dim instance As New SessionStateStoreProviderBase
protected SessionStateStoreProviderBase ()
protected:
SessionStateStoreProviderBase ()
protected SessionStateStoreProviderBase ()
protected function SessionStateStoreProviderBase
 ()
解説解説

SessionStateStoreProviderBase 抽象クラス継承するクラスでは、コンストラクタ実装する必要はありません。SessionStateStoreProviderBase 実装初期化値は、Initialize メソッド実装渡されます。

使用例使用例
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SessionStateStoreProviderBase クラス
SessionStateStoreProviderBase メンバ
System.Web.SessionState 名前空間
その他の技術情報
ASP.NETセッション状態

SessionStateStoreProviderBase プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

SessionStateStoreProviderBase クラス
System.Web.SessionState 名前空間

その他の技術情報

ASP.NETセッション状態

SessionStateStoreProviderBase メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド CreateNewStoreData 現在の要求使用する SessionStateStoreData オブジェクト新規作成します
パブリック メソッド CreateUninitializedItem 新しセッション状態項目をデータ ストア追加します
パブリック メソッド Dispose SessionStateStoreProviderBase の実装によって使用されているすべてのリソース解放します。
パブリック メソッド EndRequest 要求最後に SessionStateModule オブジェクトによって呼び出されます。
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetItem セッション データ ストアから読み取り専用セッション状態データ返します
パブリック メソッド GetItemExclusive セッション データ ストアから読み取り専用セッション状態データ返します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド Initialize  プロバイダ初期化します。 ( ProviderBase から継承されます。)
パブリック メソッド InitializeRequest 要求ごとの初期化のために、SessionStateModule オブジェクトによって呼び出されます。
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ReleaseItemExclusive セッション データ ストアの項目のロック解除します
パブリック メソッド RemoveItem セッション データ ストアから項目データ削除します
パブリック メソッド ResetItemTimeout セッション データ ストアの項目の有効期限日時更新します
パブリック メソッド SetAndReleaseItemExclusive 現在の要求の値を使用してセッション状態データ ストアセッション項目の情報更新しデータロック解除します
パブリック メソッド SetItemExpireCallback Global.asax ファイル定義されている Session_OnEnd イベントの SessionStateItemExpireCallback デリゲートへの参照設定します
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SessionStateStoreProviderBase クラス
System.Web.SessionState 名前空間

その他の技術情報

ASP.NETセッション状態

SessionStateStoreProviderBase メンバ

データ ストアセッション状態プロバイダ必要なメンバ定義します

SessionStateStoreProviderBase データ型公開されるメンバを以下の表に示します


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド SessionStateStoreProviderBase SessionStateStoreProviderBase クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド CreateNewStoreData 現在の要求使用する SessionStateStoreData オブジェクト新規作成します
パブリック メソッド CreateUninitializedItem 新しセッション状態項目をデータ ストア追加します
パブリック メソッド Dispose SessionStateStoreProviderBase の実装によって使用されているすべてのリソース解放します。
パブリック メソッド EndRequest 要求最後に SessionStateModule オブジェクトによって呼び出されます。
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetItem セッション データ ストアから読み取り専用セッション状態データ返します
パブリック メソッド GetItemExclusive セッション データ ストアから読み取り専用セッション状態データ返します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド Initialize  プロバイダ初期化します。 (ProviderBase から継承されます。)
パブリック メソッド InitializeRequest 要求ごとの初期化のために、SessionStateModule オブジェクトによって呼び出されます。
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ReleaseItemExclusive セッション データ ストアの項目のロック解除します
パブリック メソッド RemoveItem セッション データ ストアから項目データ削除します
パブリック メソッド ResetItemTimeout セッション データ ストアの項目の有効期限日時更新します
パブリック メソッド SetAndReleaseItemExclusive 現在の要求の値を使用してセッション状態データ ストアセッション項目の情報更新しデータロック解除します
パブリック メソッド SetItemExpireCallback Global.asax ファイル定義されている Session_OnEnd イベントの SessionStateItemExpireCallback デリゲートへの参照設定します
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SessionStateStoreProviderBase クラス
System.Web.SessionState 名前空間

その他の技術情報

ASP.NETセッション状態



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SessionStateStoreProviderBase」の関連用語

SessionStateStoreProviderBaseのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SessionStateStoreProviderBaseのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS