HttpSessionState.SessionID プロパティ

定義

セッションの一意の識別子を取得します。

public:
 property System::String ^ SessionID { System::String ^ get(); };
public string SessionID { get; }
member this.SessionID : string
Public ReadOnly Property SessionID As String

プロパティ値

一意のセッション識別子。

次のコード例は、cookieless セッション識別子を使用するようにセッション状態を構成するWeb.config ファイルを示しています。 詳細については、IsCookieless プロパティを参照してください。

<configuration>
  <system.web>
    <sessionState
      cookieless="true"
      regenerateExpiredSessionId="true"
      timeout="30" />
  </system.web>
</configuration>

注釈

プロパティは SessionID 、サーバー上のセッション データを使用してブラウザーを一意に識別するために使用されます。 値は SessionID 、ASP.NET によってランダムに生成され、ブラウザーの期限切れでないセッション Cookie に格納されます。 その後、値は SessionID cookie で送信され、各要求が ASP.NET アプリケーションに送信されます。

ASP.NET アプリケーションで Cookie の使用を無効にし、セッション状態を引き続き使用する場合は、アプリケーションの Web.config ファイルで sessionState 構成要素trueの 属性を に設定cookielessして、Cookie ではなく URL にUseUriセッション識別子を格納するようにアプリケーションを構成できます。 ASP.NET 属性の値UseDeviceProfilecookielessを指定することで、ブラウザーで Cookie がサポートされているかどうかを判断できます。 また、 属性 ASP.NET の値AutoDetectcookielessを指定して、ブラウザーで Cookie が有効かどうかを判断することもできます。 が指定されている場合 UseDeviceProfile に Cookie がサポートされている場合、または が指定されている場合 AutoDetect に有効になっている場合、セッション識別子は Cookie に格納されます。それ以外の場合は、セッション識別子が URL に格納されます。 詳細については、IsCookieless プロパティを参照してください。

SessionID 、Cookie または URL で、サーバーとブラウザーの間でクリア テキストで送信されます。 その結果、望ましくないソースは、値を取得 SessionID し、サーバーへの要求に含めることで、別のユーザーのセッションにアクセスできる可能性があります。 プライベートまたは機密情報をセッション状態で格納する場合は、SSL を使用して、 を含む SessionIDブラウザーとサーバー間の通信を暗号化することをお勧めします。

Cookie ベースのセッション状態を使用する場合、オブジェクトが使用されるまで、ASP.NET はセッション データにストレージを Session 割り当てません。 その結果、セッション オブジェクトにアクセスするまで、ページ要求ごとに新しいセッション ID が生成されます。 アプリケーションでセッション全体に静的セッション ID が必要な場合は、アプリケーションの Global.asax ファイルに メソッドを実装 Session_Start し、オブジェクトにデータを Session 格納してセッション ID を修正するか、アプリケーションの別の部分のコードを使用してオブジェクトにデータ Session を明示的に格納できます。

アプリケーションで Cookie レス セッション状態が使用されている場合、セッション ID は最初のページ ビューで生成され、セッション全体に対して保持されます。

適用対象

こちらもご覧ください