内存Cookie 硬盘Cookie 写入,读取,删除


 

Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。

内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。所以,按存在时间,可分为非持久Cookie和持久Cookie。

 

简而言之,在Cookie的时候有三个过程,分别是“写入,读取,删除”。任何伟大之作都是有基本的东西构成的,而Cookie的运用也不例外。

 

写入:


 

 

复制代码
 1   //创建一个HttpCookie对象
 2         HttpCookie cookie = new HttpCookie("RON");
 3         //设定此cookies值
 4         cookie.Value = "我叫小魏";
 5         //设定cookie的生命周期,在这里定义为三分钟
 6         DateTime dtNow = DateTime.Now;
 7         TimeSpan tsMinute = new TimeSpan(0, 0, 3, 0);
 8         cookie.Expires = dtNow + tsMinute;
 9         cookie["Name"] = "小魏";
10         cookie["Sex"] = "";
11         cookie["Age"] = "22";
12         //加入此cookie
13         Response.Cookies.Add(cookie);
14         Response.Write("Cookie创建完毕");
复制代码

HttpCookie 在 System.Web 这个命名空间里面,所以你需要引用

1 using System.Web;


*创建Cookie

创建Cookie的时候必须指定Cookie的Name和Value。在例子中,cookie 的Name是“RON”,Value是“我叫小魏”!cookie是保存在浏览器当中的,而每个Cookie的区别是根据Name这个属性的值来确定的。所以,如果Name相同,Cookie的内容将被覆盖。而那些cookie["Name"]等等是cookie["RON"]的子键。

 

*Cookie有效期

Cookie的另外一个重要的属性是有效期。通过属性Expires设置。例子中,cookie设置的有效期为三分钟。目前为止,最长的有效期是50年,这是那个丫地设定的啊。有50年的公司都不错了。其实在有效期的设置上我更喜欢这句话。

cookie.Expires = DateTime.Now.AddMinutes(3);

简单,容易理解。

在有效期的问题上,有两个时间比较特殊:

#永久性 Cookie 设置永远不过期 最长为50年

#非永久性 Cookie 不设置有效期 关闭浏览器即消失

 

*多值cookie

Cookie可以保存多个值,你只要创建一个带子键的Cookie就可以了。例如

1 HttpCookie aCookie = new HttpCookie("userInfo");
2 aCookie.Values["userName"] = "rond";
3 aCookie.Values["lastVisit"] = DateTime.Now.ToString();
4 aCookie.Expires = DateTime.Now.AddDays(1);

例子中创建了一个Name为userInfo的Cookie,而且此Cookie还带有两个子键。

 

*Cookie的范围

默认情况下,Cookie的整个站点都是有效的。意思就是说,在同一个站点(也可以理解成同一个域名)下的所有网页都是可以获取到Cookie的。如果你不希望你的Cookie在所有范围都有效。你可以限定Cookie的范围。方法是通过Cookie的Path属性,属性值为范围所在的路径,相对路径有效。譬如

1 appCookie.Path = "/Application1";

 除了限定Cookie的路径范围,还可以用Cookie的Domain属性限定Cookie的域名范围。例如

1 appCookie.Domain = "jsjx.gdufs.edu.cn";

例子中将cookie限定在“广东外语外贸大学”的“信息学院”(

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值