SessionStateSection.Cookieless 屬性

定義

取得或設定值,指出是否使用 Cookie 辨認用戶端工作階段。

C#
[System.Configuration.ConfigurationProperty("cookieless")]
public System.Web.HttpCookieMode Cookieless { get; set; }

屬性值

如果所有要求都視為 Cookieless 則為 true;沒有任何要求視為 Cookieless 則為 false;否則為其中一個 HttpCookieMode 值。 ASP.NET 2.0 版中的預設值為 AutoDetect。 舊版中的預設值為 false

屬性

範例

下列程式代碼範例示範如何取得 Cookieless 屬性。 請參閱類別主題中的 SessionStateSection 程式碼範例,以瞭解如何存取 SessionStateSection 物件。

C#
// Display the current Cookieless property value.
Console.WriteLine("Cookieless: {0}",
  sessionStateSection.Cookieless);

備註

會話狀態有兩種方式可以儲存唯一標識符,將用戶端與伺服器會話產生關聯:將 HTTP Cookie 儲存在用戶端上,或在 URL 中編碼會話標識碼。 將會話標識符儲存在 Cookie 中較為安全,但需要用戶端瀏覽器支援 Cookie。

對於允許不支援 Cookie 的用戶端的應用程式,例如各種行動裝置,會話標識碼可能會儲存在 URL 中。 URL 選項有數個缺點。 它要求網站上的連結是相對的,而且頁面會在具有新查詢字串值的會話開頭重新導向,並在查詢字串中直接公開會話標識元,以便用於安全性攻擊。

只有在需要支援缺少 Cookie 支援的用戶端時,才建議您使用無 Cookie 模式。

工作階段狀態也支援兩個額外的選項: UseDeviceProfileAutoDetect。 前者可讓會話狀態模組根據瀏覽器功能,判斷每個用戶端會使用哪些模式 (Cookie 或無 Cookie) 。 此選項 AutoDetect 會與瀏覽器執行交握,以確認 Cookie 是否可儲存,因此需要額外的要求來判斷。 如果您需要支援無 Cookie 用戶端,強烈建議您只針對 UseDeviceProfile 需要 Cookie 的用戶端使用 來產生無 Cookie URL。

備註

UP。瀏覽器 4.1 或 UP。Browser 3.2 一 Redirect 律會像 SupportsRedirectWithCookie 對象的 屬性值 HttpBrowserCapabilitiesfalse樣,除非 Cookieless 已明確將 Web.config 區段中的 屬性 SessionState 設定為 true

在 ASP.NET 1.1 版中,此設定的選項為 truefalse,但使用 ASP.NET 2.0 時,選項會展開,現在是 AutoDetect 預設設定。 如果您的 Web 應用程式將 Cookieless 屬性設定為布爾值,則 Redirect 這些瀏覽器應該如預期般運作。

適用於

產品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

另請參閱