Web--->>>Cookie与Session_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Web--->>>Cookie与Session

Web--->>>Cookie与Session

 2015/4/7 9:49:07  --如鱼得水--  程序员俱乐部  我要评论(0)
  • 摘要:1、cookie1、cookie是存在客户端(浏览器)的进程内存中和客户端所在的机器硬盘上2、cookie只能能够存储少量文本,大概4K大小3、cookie是不能在不同浏览器之间共享3、创建cookie对象的写法演示//3.0实例化cookie对象HttpCookiecookie=newHttpCookie("uid",uid);//告诉浏览器只有请求指定了路径下的页面才将cookie发送给服务器,如果未指定默认就是/cookie.Path="/P01cookiedemo/"
  • 标签:Web Cookie


1、cookie
1、cookie是存在客户端(浏览器)的进程内存中和客户端所在的机器硬盘
2、cookie只能能够存储少量文本,大概4K大小
3、cookie是不能在不同浏览器之间共享



3、创建cookie对象的写法演示
//3.0 实例化cookie对象
HttpCookie cookie = new HttpCookie("uid", uid);
// 告诉浏览器只有请求指定了路径下的页面 才将cookie发送给服务器,如果未指定默认就是 /
cookie.Path = "/P01cookiedemo/";

// 设置了Expires 参数则表示告诉浏览器将cookie存入硬盘中,
cookie.Expires = DateTime.Now.AddDays(3);

//设置了Domain,告诉浏览器只有请求www.c11.com 域名下的页面才将cookie发送给服务器
cookie.Domain = "www.c11.com";

//4.0 将cookie添加到响应报文头中发送回浏览器保存,
Response.Cookies.Add(cookie);

4、 获取浏览器通过请求报文头 发送给服务器的cookie 值的 写法,uid:为cookie的键,可以由程序员自己定义
if(Request.Cookies["uid"]!=null)
{
Request.Cookies["uid"].Value;
}

5、清除cookie 代码写法:
HttpCookie cookie = Request.Cookies["uid"];
cookie.Expires = DateTime.Now.AddYears(-1);
cookie.Path = "/P01cookiedemo/";

Response.Cookies.Add(cookie);

5、单点登录


2、GMT,UTC时间 零时区的时间,东区 + 小时 西区:-小时
linux系统默认的时间就是UTC时间

3、Session
1、存在服务器端,存在网站进程的内存中
2、在初次设置session的时候,会在session池中实例化一个session对象,以asp.net_sessionid 的值作为key,同时会将key以cookie的形式
保存到客户端的内存中
3、session的作用域只存在当前浏览器的会话中,当浏览器关闭以后就会将sessionid丢失,但是服务器的session对象要20分钟以后才会回收


清除Session:context.Session[“name”]=null;
context.Session.Abandon();

4、在web.config中的 <system.web> 节点下添加 <sessionState timeout="5" cookieless="true"></sessionState> 手动修改session的相关设置
注意点:
aspx编译完成以后会自动实现接口IRequiresSessionState,所以能够直接使用session
但是一般处理程序,需要程序员自己手动实现system.Web.SessionState.IRequiresSessionState接口 ,才能够使用session对象

如果浏览器禁用了cookie,则可以使用
设置:<sessionState cookieless="true"></sessionState> 来开启url传入sessionid到服务器,但是不推荐使用

 

上一篇: 所谓好人 下一篇: 对集合排序的三种方式
发表评论
用户名: 匿名