語言

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

屬性值

true如果所有請求都被視為無 cookie,還是false沒有請求被當作無 cookie,或是其中一種值。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)

備註

會話狀態有兩種方式可以儲存將用戶端與伺服器會話關聯的獨特 ID:在用戶端儲存 HTTP Cookie,或是在 URL 中編碼會話 ID。 將會話 ID 儲存在 Cookie 中較為安全,但需要客戶端瀏覽器支援 Cookie。

對於允許不支援 Cookie 的用戶端的應用程式,例如各種行動裝置,會話 ID 可能會儲存在 URL 中。 網址選項有幾個缺點。 它要求網站上的連結必須是相對的,且頁面在會話開始時必須以新的查詢字串值重新導向,並且會直接暴露在查詢字串中,方便在安全攻擊中使用。

建議只有在需要支援缺乏 cookie 支援的客戶端時,才建議使用 Cookieless 模式。

會話狀態也支援兩個額外選項: UseDeviceProfile 和 AutoDetect。 前者使會話狀態模組能根據瀏覽器功能,依據每個客戶端決定使用哪種模式(cookie 或無 cookie)。 該 AutoDetect 選項會與瀏覽器握手以驗證 Cookie 是否可儲存,因此需要額外請求來判斷。 如果你需要支援無 cookie 客戶端,強烈建議只 UseDeviceProfile 為需要 cookies 的客戶產生無 cookie 網址。

Note

與UP合作。瀏覽器 4.1 或 UP。瀏覽器 3.2 Redirect 的行為總是像物件屬性的值SupportsRedirectWithCookieHttpBrowserCapabilities是 false,除非 Cookieless Web.config 的屬性SessionState被明確設為 true。

在 1.1 版本 ASP.NET 中,這個設定的選項是 true 或 false,但到 ASP.NET 2.0 版本後,選項擴展,現在 AutoDetect 成為預設設定。 如果你的網頁應用程式設定 Cookieless 了屬性為布林值,那麼 Redirect 這些瀏覽器應該會正常運作。

適用於

另請參閱