编写 Cookie
Cookie 提供了一种在 Web 应用程序中存储用户特定信息(如历史记录或用户首选项)的方法。 Cookie 是一小段文本信息,伴随着请求和响应在 Web 服务器和客户端之间传递。 Cookie 包含每次用户访问站点时可由 Web 应用程序读取的信息。
浏览器管理客户端计算机上的 Cookie。 使用 HttpResponse 对象可向客户端发送 Cookie,该对象会公开称为 Cookies 的属性。 任何需要 Web 应用程序发送到浏览器的 Cookie 都必须添加到此集合中。 编写新 Cookie 时,必须指定 Name 和 Value。 每个 Cookie 必须有一个唯一的名称,这样在以后当浏览器随同请求发送 Cookie 时,Web 应用程序就可以标识该 Cookie。
有两种方法可以向用户计算机写 Cookie。 可以直接为 Cookies 集合设置 Cookie 属性,也可以创建 HttpCookie 对象的一个实例并将该实例添加到 Cookies 集合中。 必须在 ASP.NET 页呈现给客户端之前创建 Cookie。 例如,可以在 Page_Load 事件处理程序中编写 Cookie,但不能在 Page_Unload 事件处理程序中编写 Cookie。 有关页面寿命周期的更多信息,请参见 ASP.NET 页生命周期概述。
有关更多信息,请参见 ASP.NET Cookie 概述。
通过为 Cookies 集合设置 Cookie 属性编写 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);