码迷,mamicode.com
首页 > Web开发 > 详细

asp.net 操作Cookie以及优缺点

时间:2016-04-14 14:18:14      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

 

前言

          第一次写文章,还请大家多多关照,写的不好和不对的还请大家多多指教,谢谢!

 

 

一. 什么是cookie

  Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。

二. Cookie 的限制

  大多数浏览器支持最大为 4096 字节的 Cookie。由于这限制了 Cookie 的大小,最好用 Cookie 来存储少量数据,或者存储用户 ID 之类的标识符。

三. 操作cookie

  1 存储。

    方式一:Response.Cookies["键"].value="值";

    方式二:HttpCookie cookie = new HttpCookie("键","值");

         cookie.Expires = DateTime.Now.AddMinutes(30); //设置过期时间,如果不设置则是关闭浏览器cookie失效。

         Response.Cookies.Add(cookie);

  2 读取。

    方式一:if(Request.Cookies["键"]!=null)

         string str = Request.Cookies("键").Value; 

    方式二:if(Request.Cookies["键"]!=null){

           string str=Request.Cookies.Get("键");

       }

    提示:还有多值cookie读取。

 

  3 删除cookie

     HttpCookie cookie = new HttpCookie("键");
     cookie.Expires=DateTime.Now.AddDays(-30);  //将其有效期设置为过去的某个日期。当浏览器检查 Cookie 的有效期时,就会删除这个已过期的 Cookie。
     Response.Cookies.Add(cookie);

四.Cookie 的范围.

       可以通过两种方式设置 Cookie 的范围:

    1 将 Cookie 的范围限制到服务器上的某个文件夹,这允许您将 Cookie 限制到站点上的某个应用程序。

      HttpCookie appCookie = new HttpCookie("键");
      appCookie.Value = "值" ;
      appCookie.Expires = DateTime.Now.AddDays(1); 
      appCookie.Path = "/fileName";
      Response.Cookies.Add(appCookie);

     注意: 在某些浏览器中,路径区分大小写。您无法控制用户如何在其浏览器中键入 URL,但如果应用程序依赖于与特定路径相关的 Cookie,请确保您创建的所有超链接中的 URL 与 Path 属性值的大小写相匹配。

    2 将范围设置为某个域,这允许您指定域中的哪些子域可以访问 Cookie。

                  (1)默认情况下,Cookie 与特定域关联。(例如网站:http//:www.yiming.com)

 

         HttpCookie appCookie = new HttpCookie("键");
       appCookie.Value = "值" ;
       //appCookie.Domain ="www.yiming.com"; //默认情况下www.yiming.com
       Response.Cookies.Add(appCookie);

       (2)Domain属性创建可在多个子域间共享的 Cookie,如下面的示例所示:(多个网站可共享,如:bba.yiming.com;kks.yiming.com;doq.yiming.com等等)

       HttpCookie appCookie = new HttpCookie("键");
       appCookie.Value = "值" ;
       appCookie.Domain =".yiming.com";
       Response.Cookies.Add(appCookie);         

五.优缺点。

    优点:
      相比Session和Application对象,使用Cookie能持久化保存用户信息。Cookie保存在客户端,而Session和Application保存在服务器端,故Cookie能长久保存。web应用程序可以通过获取客户端的Cookie来进行用户身份认证。
Asp.net包含两个Cookie集合,通过HttpRequest的Cookie集合进行访问,Cookie不是Page类的子类,所以使用方法与Session和Application不同,相比于他们Cookie的优点如下:
     1.可以配置过期时间
    2.简单:Cookie是一种基于文本的轻量级结构,包括简单的键值对
    3.数据持久:因为保存到客户端
    4.无任何服务器资源:因为存储在本地客户端

    缺点:

   1. 不要在Cookie中存储敏感信息,如用户名、密码、信用卡号等等。

   2. 在对cookie操作之前要对 Cookie 内容进行 HTML 编码的方法,对信息加密(尤其是存储中文时)。

   3. Cookies属性不指示 Cookie 是否启用。它仅指示当前浏览器是否原本支持 Cookie。

   4. Cookie存储的数据量有所限制,大多数浏览器支持的最大容量为4096字节,因此不要用Cookie来保存大量数据。

 

asp.net 操作Cookie以及优缺点

标签:

原文地址:http://www.cnblogs.com/bkyan/p/5390744.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!