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
屬性值
唯一工作階段識別碼。
範例
下列程式碼範例示範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 會話狀態,則會在第一頁檢視上產生會話識別碼,並維護整個會話。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應