Cookie的用法有点类似Session,在HttpCookie 类成员中发现有个NameValueCollection类型,而这个类型是ICollection接口。这说明Cookie是支持键值队的,就像Session一样使用。从使用上来说Cookie 和 Session 是类似的。
如:
添加设置
HttpCookie cookie = new HttpCookie("Test");
cookie.Values.Add("Name", "Name1");
cookie.Values.Add("Age", "30");
cookie.Values.Add("Sex", "boy");
cookie.Values.Add("LastName", "Liu");
cookie.Expires = DateTime.Now.AddYears(1);
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
System.Web.Security.FormsAuthentication.SetAuthCookie("Test", false);
读取:
HttpCookie coke = System.Web.HttpContext.Request.Cookies["Test"];
string Name = coke["Name"];
string Age = coke["Age"];
string Sex = coke["Sex"];
Session 的使用也是类似的。
但是在功能上来说是不同的。
Session 是保存在服务器端的。但是Cookie是保存在客户端,具体来说应该是在Documents and Settings 目录下的当前登陆的用户文件目录下。由于是保存在用户端,所以相对与Session来说Cookie不适合保存重要的用户信息。
对于Cookie发现以下特点:
对于使用Cookie的用户来说最好先判断用户的IE是否已经禁用该功能:
如:
If (Request.Browser.Cookies == true )
{
}
用户最后设置期限
Expires(期限):获得或设置cookie的终止日期和
以上是对Cookie的一些理解,但是还有一些小问题还不知道为什么?
1: 对于Cookie信息是如何发送给服务器端的。对于一网页请求,客户端会发送请求地址给服务器端,是通过 post get header还是通过其他的途径呢?