HttpSessionState.SessionID 屬性

定義

取得工作階段的唯一識別項。

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

屬性值

唯一工作階段識別碼。

範例

下列程式碼範例示範Web.config檔案,該檔案會將會話狀態設定為使用無 Cookie 會話識別碼。 如需詳細資訊,請參閱 IsCookieless 屬性 (Property)。

<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,但仍使用會話狀態,您可以將應用程式設定為將會話識別碼儲存在 URL 中,而不是將sessionState組態元素 true 的 屬性設定 cookieless 為 ,或在 UseUri 應用程式的 Web.config 檔案中儲存會話識別碼。 您可以指定 屬性值,讓瀏覽器 ASP.NET 判斷瀏覽器 UseDeviceProfilecookieless 是否支援 Cookie。 您也可以 ASP.NET 指定 屬性的 值 AutoDetectcookieless ,以判斷是否為瀏覽器啟用 Cookie。 如果指定時支援 Cookie,或是在指定時 UseDeviceProfileAutoDetect 啟用,則會話識別碼會儲存在 Cookie 中,否則會話識別碼會儲存在 URL 中。 如需詳細資訊,請參閱 IsCookieless 屬性 (Property)。

會在 SessionID 伺服器與瀏覽器之間以純文字傳送,不論是在 Cookie 或 URL 中。 因此,垃圾來源可以藉由取得值,並將它納入伺服器的要求中,來存取 SessionID 另一位使用者的會話。 如果您要將私人或敏感性資訊儲存在會話狀態中,建議您使用 SSL 來加密包含 之瀏覽器與伺服器 SessionID 之間的任何通訊。

使用 Cookie 型會話狀態時,ASP.NET 在使用 物件之前 Session ,不會配置會話資料的儲存體。 因此,系統會為每個頁面要求產生新的會話識別碼,直到存取會話物件為止。 如果您的應用程式需要整個會話的靜態會話識別碼,您可以在應用程式的 Global.asax 檔案中實 Session_Start 作 方法,並將資料儲存在 Session 物件中,以修正會話識別碼,或者您可以在應用程式的另一個部分中使用程式碼,明確地將資料儲存在 物件中 Session

如果您的應用程式使用無 Cookie 會話狀態,則會在第一頁檢視上產生會話識別碼,並維護整個會話。

適用於

另請參閱