ASP.NET 实践:写入 Cookie
Cookies 提供了一種在 Web 應用程序中存儲特定用戶信息(如歷史記錄或用戶偏好)的方式。Cookie 是連同請求和回應一起在 Web 服務器和客戶端之間來回傳送的少量文本。Web 應用程序能夠在用戶訪問網站的時候讀取 Cookie 中所包含的信息。
瀏覽器負責對客戶端計算機中的 Cookies 進行管理。Cookies 是使用 HttpResponse 對象被發送到客戶端的,該對象暴露了一個名為 Cookies 的屬性集合。任何你想要在 Web 應用程序中發送到瀏覽器的 Cookies 都必須被添加到這個集合中。在你寫入一個新 Cookie 的時候,你必須指定 Name 和 Value 屬性。每個 Cookie 都必須擁有一個唯一的名稱,這樣 Web 應用程序才能夠在瀏覽器的未來請求中對它進行識別。
把 Cookie 寫入到用戶計算機中有兩種方式。你既能夠直接在 Cookies 集合中設置 Cookie 的屬性,也能夠創建一個新的 HttpCookie 對象實例并把它添加到 Cookies 集合中。你必須在 ASP.NET 頁面被呈現到客戶端之前創建 Cookies。例如,你可以在 Page_Load 事件處理器中寫入一個 Cookie,但是不能夠在 Page_Unload 事件處理器中寫入 Cookie。更多關于頁面生命周期的信息,請參考:[ASP.NET 頁面生命周期概覽]。
更多信息,請參考:[ASP.NET Cookies 概覽]。
在 Cookies 集合中設置屬性來寫入 Cookie
-
在你想要寫入 Cookie 的 ASP.NET 頁面中,在 Cookies 集合中指定 Cookie 的屬性。
如下代碼實例說明了一個名為 UserSettings 的 Cookie,并為子鍵 Font 和 Color 設置了值。同時也把失效時間設置成了明天。
Response.Cookies["UserSettings"]["Font"] = "Arial"; Response.Cookies["UserSettings"]["Color"] = "Blue"; Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
創建 HttpCookie 對象的實例來寫入 Cookie
創建 HttpCookie 類型的一個對象實例并為其指定名稱。
指定 Cookie 子鍵中的值并設置 Cookie 的屬性。
把這個 Cookie 添加到 Cookies 集合中。
如下代碼實例說明了一個名為 myCookie 的 HttpCookie 對象實例,用來展示一個名為 UserSettings 的 Cookie。
HttpCookie myCookie = new HttpCookie("UserSettings"); myCookie["Font"] = "Arial"; myCookie["Color"] = "Blue"; myCookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(myCookie);健壯編程
默認時,Cookies 在相同域中的所有頁面中被共享,但是你能夠通過設置它們的 Path 屬性的方式把 Cookies 限制到一個特定的子目錄。要允許 Cookie 能夠被應用程序所有目錄中的所有頁面所訪問,請在應用程序根目錄中的頁面中對它進行設置,并且不要設置 Path 屬性。
如果你沒有指定 Cookie 的有效期,那么這個 Cookie 將無法在客戶計算機中被持續保持,并且會連同用戶的會話狀態一起失效。
Cookies 只能夠存儲 String 類型的值。你必須在存儲到 Cookie 之前把任何非字符串的值轉換成字符串。大部分數據類型通過調用 ToString 方法就能夠實現。更多關于數據類型轉換成字符串的信息,請參考相應類型的[ToString 方法]。
安全性
不要在 Cookie 中存儲機密信息(如用戶名稱或密碼)。更多關于 Cookie 安全性的信息請參考:[ASP.NET Cookies 概覽]。
轉載于:https://www.cnblogs.com/Laeb/archive/2007/01/13/619626.html
總結
以上是生活随笔為你收集整理的ASP.NET 实践:写入 Cookie的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 很好听的一首歌
- 下一篇: C#反射实例No.1