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的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 很好听的一首歌
- 下一篇: asp.NET自定义服务器控件内部细节系