Share via


SessionStateSection.Cookieless 屬性

定義

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

public:
 property System::Web::HttpCookieMode Cookieless { System::Web::HttpCookieMode get(); void set(System::Web::HttpCookieMode value); };
[System.Configuration.ConfigurationProperty("cookieless")]
public System.Web.HttpCookieMode Cookieless { get; set; }
[<System.Configuration.ConfigurationProperty("cookieless")>]
member this.Cookieless : System.Web.HttpCookieMode with get, set
Public Property Cookieless As HttpCookieMode

屬性值

HttpCookieMode

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

屬性

範例

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

// Display the current Cookieless property value.
Console.WriteLine("Cookieless: {0}",
  sessionStateSection.Cookieless);
' 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 一律會如同 物件的 false 屬性值 HttpBrowserCapabilities 一樣 SupportsRedirectWithCookie ,除非 Cookieless Web.config 區段中的 屬性 SessionState 已明確設定為 true

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

適用於

另請參閱