快速业务通道

宝刀不老:Cookie

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
Name"]["KeyName"];

方法二: 利用索引来取出数据值

string str2=Response.Cookies["CookieName"].Values[1];

方法三: 利用索引键名来取出数据值.

string str3=Response.Cookies["CookieName"].Values["KeyName"];

7. 遍历 Cookie 集合

此处以实例演示说明: 如何遍历客户端的 Cookie 对象, 并将客户端的所有 Cookie 对象的内容值显示出来. 代码如下:

遍历Cookie集合

string[] cookieName, keyName;//定义两个数组,用来存放名称
HttpCookieCollection myCookieCollection;//定义Cookies集合对象
HttpCookie myCookie;//定义Cookie对象
myCookieCollection = Request.Cookies;//将客户端的Cookie取出
cookieName = myCookieCollection.AllKeys;//取得集合中所有的Cookie名称
for (int i=0; i <= cookieName.GetUpperBound(0); i++)//对每个Cookie进行循环
{
myCookie =myCookieCollection[cookieName[i]];
Response.Write("该Cookie的名称:"+myCookie.Name +"<br>"+"该Cookie的到期时间:"+myCookie.Expires+"<br>");
Response.Write("该Cookie中所有的内容值如下所示:"+"<br>");//输出Cookie内容
keyName = myCookie.Values.AllKeys;
for (int j = 0; j <= keyName.GetUpperBound(0); j++)
{
Response.Write(keyName[j]+":"+myCookie[keyName[j]]+"<br>");
}
Response.Write("<hr>");

8. 设置 Cookie 变量的的生命周期

虽然 Cookie 对象变量是存放在客户端计算机上, 但是也不是永远不会消失. 设计人员在程序中设定 Cookie 对象的有效日期, 语法如下:

Response.Cookies["CookieName"].Expires=日期;

如果没有指定效期 ( Expires 属性), Cookie 变量将不会被保存. 当关闭浏览器时, Cookie 变量也会随之消失.

这里演示几种设定有效期的方法. 

设置Cookie的有效期

//20分钟后到期
TimeSpan ts=new TimeSpan(0, 0, 20, 0);
Response.Cookies["myCookie"].Expires=DateTime.Now.Add(ts);
//一个月后到期
Response.Cookie["myCookie"].Expires=DateTime.Now.AddMouths(1);
//指定具体有效日期
Response.Cookies["myCookie"].Expires=DateTime.Parse("2010-10-1");
//永远不过期
Response.Cookies["myCookie"].Expires=DateTime.MaxValue;
//关闭浏览器后过期
Response.Cookies["myCookie"].Expires=DateTime.MinValue;

9. 删除客户端的 Cookie.

删除客户端的 Cookie 主要是设置指定 Cookies 的有效期, 有以下两种方式.

方法一: 将指定 Cookie 的有效期设置为过去的某个时间. 例如, 设置 Cookie 有效期为当前系统时间的前一天, 代码如下:

Response.Cookies["myCookie"].Expires=DateTime.Now.AddDays(-1);

方法二: 将指定 Cookie 的有效期设置为最小值 ( MinValue). 当浏览器关闭时, 相关 Cookies 失效. 代码如下:

Response.Cookies["myCookie"].Expires=DateTime.MinValue;

10. 删除多值 Cookie 中的某个值.

使用 Remove方法. 相关代码正下:

删除多值Cookie中的某个值
if (txtval1.Text != "" && txtval2.Text != "")
{
HttpCookie hc = Request.Cookies["Val"];
hc.Values.Remove("val2");
Response.Cookies.Add(hc);
}
else
{
Response.Write("请先输入变量值!");
}

11. 使用 Cookie 防止网上重复投票

Cookie提供了一种在 Web 应用程序中存储用户特定信息的方法. 例如, 当用户第一

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号