ASP.NET中的Cookie对象

1.Cookie对象

Cookie对象一般用于在客户端保存一些针对某个用户的信息。

Cookie本质上只是一小段文本字符串,改字符串一般保存在用户计算机特定文件夹下的某个文件中,每个Cookie都保存到一个对应的文件中。它提供了在客户端存储用户特定信息的手段。例如保存用户登录某个网站的用户名、保存用户购物时选择的某些选项、保存是否已经投票以防止重复投票等。

当用户访问某个服务器时,如果服务器要求将Cookie信息也传递过来,则浏览器就会将其附加到HTTP头文件中发送给服务器。另外,服务器也可以通知浏览器将某个Cookie信息保存到计算机上,但是,一旦将Cookie保存在客户端计算机上,则只有创建该Cookie的网站才能读取它。

一般情况下,服务器都会给Cookie信息限制一个有效的时间段,当超过保存的有效期时,浏览器就会自动将其删除。如果没有设置Cookie的有效期,实际上只是将Cookie作为用户会话信息的一部分进行维护,当用户关闭浏览器时就会自动丢弃Cookie,而不会将其存储在用户的硬盘上。

不过,由于有些网站会利用这种技术随意在客户端保存访问信息,导致用户对其很反感,因此,有些用户可能会通过浏览器设置禁用Cookie,所以使用这种技术时,最好先检测是否可以在客户端存储Cookie。

 protected void Page_Load(object sender ,EventArgs e)
{
if(Context.Request.Browser.Cookies==false)
{
Label1.Text="客户端禁用了Cookie。";
return; } //读取Cookie
HttpCookie cookie=Request.Cookie.Get("userName");
if(cookie=null)
{
//创建Cookie
cookie=new HttpCookie("userName","张三");
cookie.Expires=DateTime.Now.AddDays(); //写入Cookie
Response.Cookies.Set(cookie); }
22 Label1.Text="<hr/>"; foreach(string s in Request.Cookies.AllKeys)
HttpCookie c=Rquest.Cookies.Get(s);
Label1.Text+="Cookie名 :userName<br/>"+"值:"+cookie.Value+"<br/>"+"过期日期:"+cookie.Expires+<hr/>";
}
}

这篇文章取自 马骏.HTML5与ASP.NET程序设计教程(第2版).人民邮电出版社。

上一篇:VS2015一新建项目就出现未将对象引用设置到对象的实例怎么办?[z]


下一篇:WPF前台界面显示“未将对象引用设置到对象的实例”