cookie属性:

name字段为一个cookie的名称。

value字段为一个cookie的值。

domain字段为可以访问此cookie的域名。

path字段为可以访问此cookie的页面路径。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie。

expires 字段为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话默认值是Session,意思是cookie会和session一起失效。当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。

Size字段 此cookie大小。

http字段  cookie的httponly属性。若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过document.cookie来访问此cookie。

secure字段 设置是否只能通过https来传递此条cookie

在这里只写了简单的Cookie操作

设置Cookie

public void AddCookie()
{
//方法一:
HttpCookie Cookie1 = new HttpCookie("CookieName");
Cookie1.Expires = DateTime.Now.AddDays(1);//设置过期时间
Cookie1.Value = "Value";
Response.Cookies.Add(Cookie1);//响应一个Cookies
//System.Web.HttpContext.Current.Response.Cookies.Add(Cookie1);//作用同 Response.Cookies.Add(Cookie1),响应一个Cookies
//方法二:
Response.Cookies["CookieName"].Value = "Value";
// Response.Cookies["CookieName"].Values["Key"] = "Value";//存多值
Response.Cookies["CookieName"].Expires = DateTime.Now.AddDays(1);//设置过期时间
//方法三:
HttpCookie cookie3 = new HttpCookie("CookieName");
DateTime dt = DateTime.Now; //获取当前时间
TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0);//过期时间为1分钟
cookie3.Expires = dt.Add(ts);//设置过期时间
cookie3.Values.Add("Key", "Value");
cookie3.Values.Add("Key", "Value");
//cookie3.Values.Set("Key", "Value");//设置cookie某项的值
Response.AppendCookie(cookie3); //响应一个Cookies
//注:如果使用response.Cookies创建cookie就不用写System.Web.HttpContext.Current.Response.Cookies了。
}

获取Cookie

        public void ReadCookie()
{
//方法一:
HttpCookie cookies1 = Request.Cookies["CookieName"];
string Values1 = cookies1.Value;
//string Values 1= cookies.Values["Key"];//获取多值
//方法二:
string Values2 = Request.Cookies["CookieName"].Value;
//string Values2 = Request.Cookies["CookieName"].Values["Key"];//获取多值
//方法三:(获取多值)
string Values3 = Server.UrlDecode(Request.Cookies["CookieName"]["Key"]);
//System.Web.HttpContext.Current.Request.Cookies["CookieName"];//同Request.Cookies
}

修改Cookie

 public void UpdateCookie()
{
//修改只需要重新给要修改的cookie赋值就行,这样旧的就会被覆盖掉。
//所以这里只写一种方法,更多请参考创建cookie
HttpCookie Cookie = Request.Cookies["CookieName"];
Cookie.Expires = DateTime.Now.AddDays(1);//设置过期时间
Cookie.Value = "Value";//设置值
Response.Cookies.Add(Cookie);//响应一个Cookies
}

删除Cookie

 public void DeleteCookie()
{
//删除cookie只需修改的cookie的过期时间(expires)过去的时间即可
//所以这里只写一种方法,更多请参考创建cookie
HttpCookie Cookie = Request.Cookies["CookieName"];
Cookie.Expires = DateTime.Now.AddDays(-1);//设置过期时间
Response.Cookies.Add(Cookie);//响应一个Cookies
}
  • 注意:对Cookie进行操作时应先判断cookie不为空
  • 注意:当Cookie存中文出现乱码,则在存放时给中文编码,读取时解码即可,如Cookie.setCookie("name", Server.UrlEncode("Value"),1)
  • 注意:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效

C#中的Cookie的更多相关文章

  1. Javascript中关于cookie的那些事儿

    Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...

  2. 在iframe中使用cookie需要注意

    cookie的使用早已不新鲜了,但是最近在做项目时还是被坑了一把. 那么接下来让我们来看一下这个"坑"是个什么情况! 前提: 1.现在有两个页面A.html, B.html,同时, ...

  3. php中的cookie用法

    cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别. cookie存放在客户端浏览器中,session保存在服务器上.它们之间的联系是session ID一般保存在 ...

  4. 【原创】js中利用cookie实现记住密码功能

    在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: HttpServletRequest request HttpServletResponse res ...

  5. varnish中忽略cookie进行缓存

    varnish不缓存cookie的页面,如果html页面中带有cookie以下代码为接收到结尾的文件,自动去除掉cookiesub vcl_recv {    if (req.request == ” ...

  6. Servlet中的cookie和session

    保存数据的2中方式 Cookie Session Cookie 我们可以将一些信息保存到cookie中,cookie存放在对应的浏览器目录里面.每个站点可以保存20个cookie,最大长度不超过4k. ...

  7. C#中的cookie编程

    Cookie就是所谓的" 小甜饼" ,他最早出现是在Netscape Navigator 2.0中.Cookie其实就是由Web服务器创建的.将信息存储在计算机上的文件.那么为什么 ...

  8. JavaScript中document.cookie

    “某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie.”—— MSIE 帮助.一般来说,Cookies 是 CGI 或类似,比 HTML 高级的文件.程序等创建 ...

  9. 程序中的Cookie 和Session

    这几天回家休息后,想想放假之前的几天,主要看的一些工作上的东西,发现对Session和Cookie这两个东西,我还是很陌生.恩,趁着有网,看了点相关的资料,打算整理下.一翻博客,发现已经有前辈已经对这 ...

  10. 从WebBrowser中取得Cookie 和 WebClient设置cookie!

    原文:从WebBrowser中取得Cookie 和 WebClient设置cookie! 从WebBrowser中取得Cookie 的代码 CookieContainer myCookieContai ...

随机推荐

  1. Git - 生成 ssh key for Mac

    终端: cd ~/ .ssh 生成 SSH KEY ssh-keygen -t rsa -C 你的油箱 前往以下目录找到生成好的 SSH KEY /Users/wzz/.ssh/id_rsa.pub

  2. LaLeX数学公式

    启用数学公式: 需要插入公式时,用 $ 将公式包围.若需要输入多行,则用一对 $$ 包围. 例如: $$ \rho = \sqrt{(\Delta x)^{2}+(\Delta y)^{2}} \\ ...

  3. 跟随我在oracle学习php(15)

    开发环境 独立开发环境:组成 Windows/Linux php Apache MySQL 集成开发环境:phpstudy wamp xammp 关系数据库: SQL: Struct Query La ...

  4. eclipese的一些卡顿问题

    一,在jsp页面上输入拼音的时候很卡顿怎么办? 二,我们在复制粘贴等用到ctry的时候会很卡顿,尤其是在jsp页面.干掉以下就好了.

  5. week3

    ___________________________________函数________________________ 返回值 = 0 ,返回 0 返回值 = 1, 返回object 返回值> ...

  6. python小总结2(time,os)

    一.时间模块 1.1 Time time.time():获取时间戳,结果为一个浮点数 time.gtime():获取时间的元组形式 time.localtime():获取的是当地时间 time.mkt ...

  7. 面向对象DAO模式

    DAO模式编写数据访问层代码步骤? 1.  接口 增.删.改.查的方法 方法的返回类型为泛型集合 Int rows=select语句的条数 If(rows>0) 方法的返回类型为泛型集合 If( ...

  8. Django--filter()-字段查找(双下划线的使用详解)

    Django--filter()-字段查找(双下划线的使用详解) 在了解django中的字段查找的同时,让我们先熟悉一下比较符: 大于--gt-(greater than) 小于--lt-(less ...

  9. layui从子iframe打开父iframe的tab选项卡

    数据表格字段: {field: 'novelId', title: '小说ID',width:100,templet: '<div><a href="javascript: ...

  10. Mybatis第一天

    Mybatis第一天   框架课程 1.   课程计划 第一天: 1.Mybatis的介绍 2.Mybatis的入门 a)       使用jdbc操作数据库存在的问题 b)      Mybatis ...