次の方法で共有


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 は最初のページ ビューで生成され、セッション全体に対して保持されます。

適用対象

こちらもご覧ください