cookie和session的使用和区别

来源:互联网 发布:在中国卖的好跑车知乎 编辑:程序博客网 时间:2024/05/20 18:51

一、cookie:(保存在客户端)

1.过程:生产-->保存-->使用(参考http://blog.csdn.net/xjx_1024/article/details/5437300)

     1)生产

//创建一个Httpcookie的实例,Sample标示

HttpCookie co=new HttpCookie("Sample");

//往实例中添加资料,其中第一个string是键值,起标示作用,就像仓库里放了一堆箱子,每个箱子都有一个自己的编号,第二个string是相对应的值,就好比是箱子里存放的东西

co.Values.Add("UserName","张三");

co.Values.Add("Password","888");

2)保存:

//Expires属性用来设置cookie的生命时间,就是设定这个cookie可以保持多久,大家在论坛里可以看到,登陆的时候选择保存资料有很多选项,比如“保存一个月”、“保存一年”等。用到了DateTime和TimeSpan来组合产生一个时间段,关于这两个的详细信息,可以查阅.NET Framewokr SDK 文档或查看http://www.blogjava.net/AndyZhang/archive/2012/05/02/377157.html.

DateTime dt=DateTime.Now;

TimeSpan ts=new TimeSpan(0,0,2,0);//TimeSpan (Int32, Int32, Int32, Int32) 将新的 TimeSpan 初始化为指定的天数、小时数、分钟数和秒数。

co.Expires=dt.Add(ts);

//将实例加入到HttpResponse的cookies集合中,以便以后使用

Response.AppendCookie(co);

3)使用:

//下面是一个比较常用的使用cookie的方法,先检查是否存在cookie,若是有,就把值取出来,否则就……

if(Request.Cookies["gundam"]==null)

{

lab.Text="none";

}

else

{

// 像这样来获得保存的cookie,并用以前设置的键来获得需要的值

HttpCookie co2=Request.Cookies["gundam"];

lab.Text=co2.Values["sazabi"].ToString();

}

补充:

System.Web.HttpCookie类,对应集合类System.Web.HttpCookieCollection类

System.Net.Cookie类,对应集合类System.Net.CookieCollection类

区别:

System.Web.HttpCookie是服务器端通过http请求从客户端获取的Cookie(服务器端用)

System.Net.Cookie是表示客户端程序通过http响应接收到的Cookie(客户端程序用

二、session:(保存在服务端)

原创粉丝点击