cookie 的使用和一些注意事项

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,如果不设置日期的话,关闭页面会自动将用户的Cookie删除

以上是对Cookie的一些理解,但是还有一些小问题还不知道为什么?
1: 对于Cookie信息是如何发送给服务器端的。对于一网页请求,客户端会发送请求地址给服务器端,是通过   post   get   header还是通过其他的途径呢?


posted @ 2008-01-07 19:04  Farrell  阅读(960)  评论(1编辑  收藏  举报
友情连接