Cookies设置,获取,删除

之前的博客,整理了下Session的存储方式和原理http://www.cnblogs.com/chinaagan/p/3200456.html

本篇再次整理下Cookies的使用和原理。

参考博客http://www.cnblogs.com/StudyLife/archive/2012/02/27/2369659.html

HttpCookie:定义Cookie的类。

Request:获取客户端信息。不只获取参数,如Request.QueryString,Request.Form;也能获取客户端其他信息,如有Request.Cookies等。

Response:客户端信息进行管理。有Response.Write,页面信息输出;Response.Cookies,管理cookies等。

写Cookie的代码

HttpCookie cookie = new HttpCookie("用户定义的Cookie名称");
cookie["姓名"] = "chinaagan";
cookie["性别"] = "男";
cookie.Expires = System.DateTime.Now.AddDays(30);
Response.Cookies.Add(cookie);
  • HttpCookie是实例化类型
  • Cookie的名称,“用户定义的Cookie名称”
  • Expires是Cookie的有效时间
  • Response用于管理Cookies,把Cookie加到客户端中
  • 另外在这里可以设置Cookies的配置信息,过期时间,安全验证等

读取Cookie值

HttpCookie Cookie4 = Request.Cookies["用户定义的Cookie名称"];
if (Cookie4 == null)
this.txt2.Text = "null";
else
this.txt2.Text = CommonFunc.ConvertObjectToString(Cookie4["姓名"]);
  • 读取Cookie,需要用到Request方法获取客户端信息
  • Request.Cookies["用户定义的Cookie名称"],获取Cookies的名称
  • Cookie4["姓名"],获取Cookies下的key值

用Fiddle抓取的Cookie值

HttpCookie Cookie3 = new HttpCookie("用户定义的Cookie名称");
Cookie3.Expires = DateTime.Now.AddDays(-5);
Response.Cookies.Add(Cookie3);
  • HttpCookie("用户定义的Cookie名称"),定义Cookie
  • Cookie3.Expires = DateTime.Now.AddDays(-5),设置Cookie的有效时间为过期
  • Response.Cookies管理客户端的Cookie

用Fiddle抓取的,已经没有"用户定义的Cookie名称"的Cookie值

删除Cookies

权限的原因,Cookies删除是不能操作的。可以设置Cookie的有效时间,有效时间小于今天,这个Cookie就会失效。

 

原文地址:https://www.cnblogs.com/chinaagan/p/3208291.html