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 會話狀態,會話標識符會在第一頁檢視上產生,並針對整個會話維護。