1.Cookie对象
Cookie对象一般用于在客户端保存一些针对某个用户的信息。
Cookie本质上只是一小段文本字符串,改字符串一般保存在用户计算机特定文件夹下的某个文件中,每个Cookie都保存到一个对应的文件中。它提供了在客户端存储用户特定信息的手段。例如保存用户登录某个网站的用户名、保存用户购物时选择的某些选项、保存是否已经投票以防止重复投票等。
当用户访问某个服务器时,如果服务器要求将Cookie信息也传递过来,则浏览器就会将其附加到HTTP头文件中发送给服务器。另外,服务器也可以通知浏览器将某个Cookie信息保存到计算机上,但是,一旦将Cookie保存在客户端计算机上,则只有创建该Cookie的网站才能读取它。
一般情况下,服务器都会给Cookie信息限制一个有效的时间段,当超过保存的有效期时,浏览器就会自动将其删除。如果没有设置Cookie的有效期,实际上只是将Cookie作为用户会话信息的一部分进行维护,当用户关闭浏览器时就会自动丢弃Cookie,而不会将其存储在用户的硬盘上。
不过,由于有些网站会利用这种技术随意在客户端保存访问信息,导致用户对其很反感,因此,有些用户可能会通过浏览器设置禁用Cookie,所以使用这种技术时,最好先检测是否可以在客户端存储Cookie。
1 protected void Page_Load(object sender ,EventArgs e) 2 { 3 if(Context.Request.Browser.Cookies==false) 4 { 5 Label1.Text="客户端禁用了Cookie。"; 6 return; 7 8 } 9 10 //读取Cookie 11 HttpCookie cookie=Request.Cookie.Get("userName"); 12 if(cookie=null) 13 { 14 //创建Cookie 15 cookie=new HttpCookie("userName","张三"); 16 cookie.Expires=DateTime.Now.AddDays(1); 17 18 //写入Cookie 19 Response.Cookies.Set(cookie); 20 21 } 22 Label1.Text="<hr/>"; 23 24 foreach(string s in Request.Cookies.AllKeys) 25 HttpCookie c=Rquest.Cookies.Get(s); 26 Label1.Text+="Cookie名 :userName<br/>"+"值:"+cookie.Value+"<br/>"+"过期日期:"+cookie.Expires+<hr/>"; 27 } }
这篇文章取自 马骏.HTML5与ASP.NET程序设计教程(第2版).人民邮电出版社。
时间: 2024-10-13 10:40:19