HttpSessionState.SessionID プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
セッションの一意の識別子を取得します。
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 は最初のページ ビューで生成され、セッション全体に対して保持されます。