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

HttpSessionStateContainer クラス

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

現在の要求セッション レベル設定セッション状態値を格納します

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

Public Class HttpSessionStateContainer
    Implements IHttpSessionState
Dim instance As HttpSessionStateContainer
public class HttpSessionStateContainer : IHttpSessionState
public ref class HttpSessionStateContainer
 : IHttpSessionState
public class HttpSessionStateContainer implements
 IHttpSessionState
public class HttpSessionStateContainer implements
 IHttpSessionState
解説解説

ASP.NET は、複数要求に対して一意ブラウザ セッション関連付けられた情報格納するためのセッション状態管理機能提供しますキー名または数値インデックスによって参照する一連の値を格納できますセッション値には、現在の HttpContext の Session プロパティまたは PageSession プロパティ使用してアクセス可能な HttpSessionState クラス使用してアクセスます。HttpSessionState クラスは、セッション状態コンテナ参照してセッション状態値とセッション レベル設定アクセスます。このコンテナは、HttpApplication のセッション状態モジュールによってセッション状態データ入力してから現在の要求HttpContext追加された IHttpSessionState インターフェイス実装です。

HttpSessionState クラスは、セッション設定および値をメモリ管理する HttpSessionStateContainer クラス呼び出します。

HttpSessionStateContainer クラスは、IHttpSessionState インターフェイスASP.NET 実装です。HttpSessionStateContainer クラスは、アプリケーション コードから呼び出すためのものではありません。SessionStateModule をカスタムセッション状態モジュール置き換える場合は、HttpSessionStateContainer クラス使用するか、または独自の IHttpSessionState インターフェイス実装提供します

使用例使用例
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
  System.Web.SessionState.HttpSessionStateContainer
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
HttpSessionStateContainer メンバ
System.Web.SessionState 名前空間
SessionStateUtility
その他の技術情報
ASP.NETセッション状態

HttpSessionStateContainer コンストラクタ

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

HttpSessionStateContainer オブジェクト新規作成し指定され設定と値で初期化します。

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

Public Sub New ( _
    id As String, _
    sessionItems As ISessionStateItemCollection, _
    staticObjects As HttpStaticObjectsCollection, _
    timeout As Integer, _
    newSession As Boolean, _
    cookieMode As HttpCookieMode, _
    mode As SessionStateMode, _
    isReadonly As Boolean _
)
Dim id As String
Dim sessionItems As ISessionStateItemCollection
Dim staticObjects As HttpStaticObjectsCollection
Dim timeout As Integer
Dim newSession As Boolean
Dim cookieMode As HttpCookieMode
Dim mode As SessionStateMode
Dim isReadonly As Boolean

Dim instance As New HttpSessionStateContainer(id,
 sessionItems, staticObjects, timeout, newSession, cookieMode, mode, isReadonly)
public HttpSessionStateContainer (
    string id,
    ISessionStateItemCollection sessionItems,
    HttpStaticObjectsCollection staticObjects,
    int timeout,
    bool newSession,
    HttpCookieMode cookieMode,
    SessionStateMode mode,
    bool isReadonly
)
public:
HttpSessionStateContainer (
    String^ id, 
    ISessionStateItemCollection^ sessionItems, 
    HttpStaticObjectsCollection^ staticObjects, 
    int timeout, 
    bool newSession, 
    HttpCookieMode cookieMode, 
    SessionStateMode mode, 
    bool isReadonly
)
public HttpSessionStateContainer (
    String id, 
    ISessionStateItemCollection sessionItems, 
    HttpStaticObjectsCollection staticObjects, 
    int timeout, 
    boolean newSession, 
    HttpCookieMode cookieMode, 
    SessionStateMode mode, 
    boolean isReadonly
)
public function HttpSessionStateContainer (
    id : String, 
    sessionItems : ISessionStateItemCollection, 
    staticObjects : HttpStaticObjectsCollection, 
    timeout : int, 
    newSession : boolean, 
    cookieMode : HttpCookieMode, 
    mode : SessionStateMode, 
    isReadonly : boolean
)

パラメータ

id

新しセッションセッション識別子null 参照 (Visual Basic では Nothing) の場合は、ArgumentException がスローさます。

sessionItems

新しセッション状態プロバイダセッション値を格納する ISessionStateItemCollection。

staticObjects

ASP.NET アプリケーションの Global.asax ファイル<object Runat="Server" Scope="Session"/> タグによって宣言されるオブジェクト指定する HttpStaticObjectsCollection。

timeout

セッション状態プロバイダセッション終了するまでに、要求間で許容される時間 (分単位)。

newSession

現在の要求セッション作成されたことを示す場合trueそれ以外場合false

cookieMode

新しセッション状態プロバイダの CookieMode。

mode

現在のセッション状態モード指定する SessionStateMode 値の 1 つ

isReadonly

セッション読み取り専用場合trueそれ以外場合false

例外例外
例外種類条件

ArgumentException

idnull 参照 (Visual Basic では Nothing) です。

使用例使用例

カスタムセッション状態モジュールの AcquireRequestState イベント ハンドラコード例次に示します。このイベント ハンドラは、HttpSessionStateContainer オブジェクト新規または既存セッション情報入力し、AddHttpSessionStateToContext メソッド使用して現在の要求の HttpContext に追加しますカスタムセッション状態モジュールの完全なコード例については、SessionStateUtility クラス概要参照してください

'
' Event handler for HttpApplication.AcquireRequestState
'

Private Sub OnAcquireRequestState(source As
 Object, args As EventArgs)
  Dim app     As HttpApplication = CType(source,
 HttpApplication)
  Dim context As HttpContext     = app.Context
  Dim isNew   As Boolean
         = False

  pSessionData = Nothing

  pSessionID = pSessionIDManager.GetSessionID(context)
  
  If Not pSessionID Is Nothing
 Then      
    Try
      pHashtableLock.AcquireReaderLock(Int32.MaxValue)
      pSessionData = CType(pSessionItems(pSessionID), SessionItem)

      If Not pSessionData Is
 Nothing Then _
        pSessionData.Expires = DateTime.Now.AddMinutes(pTimeout)
    Finally
      pHashtableLock.ReleaseReaderLock()
    End Try
  Else
    Dim redirected, cookieAdded As Boolean

    pSessionID = pSessionIDManager.CreateSessionID(context)
    pSessionIDManager.SaveSessionID(context, pSessionID, redirected, cookieAdded)

    If redirected Then Return
  End If

  If pSessionData Is Nothing
 Then      
    ' Identify the session as a New session state instance. Create a
 New SessionItem
    ' and add it to the local Hashtable.

    isNew = True

    pSessionData = New SessionItem()

    pSessionData.Items         = New SessionStateItemCollection()
    pSessionData.StaticObjects = SessionStateUtility.GetSessionStaticObjects(context)
    pSessionData.Expires       = DateTime.Now.AddMinutes(pTimeout)

    Try
      pHashtableLock.AcquireWriterLock(Int32.MaxValue)
      pSessionItems(pSessionID) = pSessionData
    Finally
      pHashtableLock.ReleaseWriterLock()
    End Try
  End If
        
  ' Add the session data to the current HttpContext.
  SessionStateUtility.AddHttpSessionStateToContext(context, _
                   New HttpSessionStateContainer(pSessionID, _
                                                pSessionData.Items, _
                                                pSessionData.StaticObjects, _
                                                pTimeout, _
                                                isNew, _
                                                pCookieMode, _
                                                SessionStateMode.Custom, _
                                                False))

  ' Execute the Session_OnStart event for a New session.
  If isNew Then RaiseEvent
 Start(Me, EventArgs.Empty)
End Sub


'
' Event for Session_OnStart event in the Global.asax file.
'

Public Event Start As EventHandler
//
// Event handler for HttpApplication.AcquireRequestState
//

private void OnAcquireRequestState(object source,
 EventArgs args)
{
  HttpApplication app     = (HttpApplication)source;
  HttpContext     context = app.Context;
  bool            isNew   = false;

  pSessionData = null;

  pSessionID = pSessionIDManager.GetSessionID(context);
  
  if (pSessionID != null)
  {
    try
    {
      pHashtableLock.AcquireReaderLock(Int32.MaxValue);
      pSessionData = (SessionItem)pSessionItems[pSessionID];

      if (pSessionData != null)
        pSessionData.Expires = DateTime.Now.AddMinutes(pTimeout);
    }
    finally
    {
      pHashtableLock.ReleaseReaderLock();
    }
  }
  else
  {
    bool redirected, cookieAdded;

    pSessionID = pSessionIDManager.CreateSessionID(context);
    pSessionIDManager.SaveSessionID(context, pSessionID, out redirected, out cookieAdded);

    if (redirected)
      return;
  }

  if (pSessionData == null)
  {
    // Identify the session as a new session state instance. Create
 a new SessionItem
    // and add it to the local Hashtable.

    isNew = true;

    pSessionData = new SessionItem();

    pSessionData.Items         = new SessionStateItemCollection();
    pSessionData.StaticObjects = SessionStateUtility.GetSessionStaticObjects(context);
    pSessionData.Expires       = DateTime.Now.AddMinutes(pTimeout);

    try
    {
      pHashtableLock.AcquireWriterLock(Int32.MaxValue);
      pSessionItems[pSessionID] = pSessionData;
    }
    finally
    {
      pHashtableLock.ReleaseWriterLock();
    }
  }
        
  // Add the session data to the current HttpContext.
  SessionStateUtility.AddHttpSessionStateToContext(context,
                   new HttpSessionStateContainer(pSessionID,
                                                pSessionData.Items,
                                                pSessionData.StaticObjects,
                                                pTimeout,
                                                isNew,
                                                pCookieMode,
                                                SessionStateMode.Custom,
                                                false));

  // Execute the Session_OnStart event for a new session.
  if (isNew && Start != null)
  {
    Start(this, EventArgs.Empty);
  }
}

//
// Event for Session_OnStart event in the Global.asax file.
//

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

HttpSessionStateContainer プロパティ


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

  名前 説明
パブリック プロパティ CodePage 現在のセッション文字セット識別子取得または設定します
パブリック プロパティ CookieMode アプリケーションCookie なしのセッション用に構成されているかどうかを示す値を取得します
パブリック プロパティ Count セッション状態コレクション内の項目の数を取得します
パブリック プロパティ IsAbandoned 現在のセッション破棄されているかどうかを示す値を取得します
パブリック プロパティ IsCookieless セッション IDURL埋め込むか、HTTP cookie格納するかを示す値を取得します
パブリック プロパティ IsNewSession 現在の要求セッション作成されたかどうかを示す値を取得します
パブリック プロパティ IsReadOnly セッション読み取り専用かどうかを示す値を取得します
パブリック プロパティ IsSynchronized セッション状態値のコレクションへのアクセス同期されている (スレッド セーフである) かどうかを示す値を取得します
パブリック プロパティ Item オーバーロードされます個別セッション値を取得または設定します
パブリック プロパティ Keys セッション状態コレクション格納されているすべての値のキーコレクション取得します
パブリック プロパティ LCID 現在のセッションロケール識別子 (LCID: locale identifier) を取得または設定します
パブリック プロパティ Mode 現在のセッション状態モード取得します
パブリック プロパティ SessionID セッション一意識別子取得します
パブリック プロパティ StaticObjects ASP.NET アプリケーションの Global.asax ファイル<object Runat="Server" Scope="Session"/> タグ宣言されているオブジェクトコレクション取得します
パブリック プロパティ SyncRoot セッション状態値のコレクションへのアクセス同期使用できるオブジェクト取得します
パブリック プロパティ Timeout セッション状態プロバイダセッション終了するまでに、要求間で許容される時間 (分単位) を取得または設定します
参照参照

関連項目

HttpSessionStateContainer クラス
System.Web.SessionState 名前空間
SessionStateUtility

その他の技術情報

ASP.NETセッション状態

HttpSessionStateContainer メソッド


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

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Abandon 現在のセッション破棄マーク付けます
パブリック メソッド Add 新しい項目をセッション状態追加します
パブリック メソッド Clear セッション状態コレクションからすべての値とキー削除します
パブリック メソッド CopyTo セッション状態値のコレクション1 次元配列コピーしますコピー操作は、指定した配列内のインデックスから始まります
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetEnumerator 現在のセッションすべてのセッション状態変数名読み出すために使用する列挙子を返します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Remove セッション状態コレクションから項目を削除します
パブリック メソッド RemoveAll すべてのセッション状態値を削除します
パブリック メソッド RemoveAt セッション状態コレクション指定したインデックス位置にある項目を削除します
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

HttpSessionStateContainer クラス
System.Web.SessionState 名前空間
SessionStateUtility

その他の技術情報

ASP.NETセッション状態

HttpSessionStateContainer メンバ

現在の要求セッション レベル設定セッション状態値を格納します

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


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド HttpSessionStateContainer HttpSessionStateContainer オブジェクト新規作成し指定され設定と値で初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ CodePage 現在のセッション文字セット識別子取得または設定します
パブリック プロパティ CookieMode アプリケーションCookie なしのセッション用に構成されているかどうかを示す値を取得します
パブリック プロパティ Count セッション状態コレクション内の項目の数を取得します
パブリック プロパティ IsAbandoned 現在のセッション破棄されているかどうかを示す値を取得します
パブリック プロパティ IsCookieless セッション IDURL埋め込むか、HTTP cookie格納するかを示す値を取得します
パブリック プロパティ IsNewSession 現在の要求セッション作成されたかどうかを示す値を取得します
パブリック プロパティ IsReadOnly セッション読み取り専用かどうかを示す値を取得します
パブリック プロパティ IsSynchronized セッション状態値のコレクションへのアクセス同期されている (スレッド セーフである) かどうかを示す値を取得します
パブリック プロパティ Item オーバーロードされます個別セッション値を取得または設定します
パブリック プロパティ Keys セッション状態コレクション格納されているすべての値のキーコレクション取得します
パブリック プロパティ LCID 現在のセッションロケール識別子 (LCID: locale identifier) を取得または設定します
パブリック プロパティ Mode 現在のセッション状態モード取得します
パブリック プロパティ SessionID セッション一意識別子取得します
パブリック プロパティ StaticObjects ASP.NET アプリケーションの Global.asax ファイル<object Runat="Server" Scope="Session"/> タグ宣言されているオブジェクトコレクション取得します
パブリック プロパティ SyncRoot セッション状態値のコレクションへのアクセス同期使用できるオブジェクト取得します
パブリック プロパティ Timeout セッション状態プロバイダセッション終了するまでに、要求間で許容される時間 (分単位) を取得または設定します
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Abandon 現在のセッション破棄マーク付けます
パブリック メソッド Add 新しい項目をセッション状態追加します
パブリック メソッド Clear セッション状態コレクションからすべての値とキー削除します
パブリック メソッド CopyTo セッション状態値のコレクション1 次元配列コピーしますコピー操作は、指定した配列内のインデックスから始まります
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetEnumerator 現在のセッションすべてのセッション状態変数名読み出すために使用する列挙子を返します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Remove セッション状態コレクションから項目を削除します
パブリック メソッド RemoveAll すべてのセッション状態値を削除します
パブリック メソッド RemoveAt セッション状態コレクション指定したインデックス位置にある項目を削除します
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

HttpSessionStateContainer クラス
System.Web.SessionState 名前空間
SessionStateUtility

その他の技術情報

ASP.NETセッション状態


このページでは「.NET Framework クラス ライブラリ リファレンス」からHttpSessionStateContainerを検索した結果を表示しています。
Weblioに収録されているすべての辞書からHttpSessionStateContainerを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からHttpSessionStateContainer を検索

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

辞書ショートカット

すべての辞書の索引

「HttpSessionStateContainer」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS