Session

一. 内容

1. Session池,键值对。

2. Session也是context对象里的,Page类中封装,更方便访问。

3. Session机制

(1)SessionId用Cookie的方式发送到浏览器端。格式类似于,Set-Cookie:SessionId=101,Cookie以浏览器缓存方式存储,浏览器关闭SessionId则会消失。

(2)Session信息存在Cookie中,所以本质上还是对Cookie的使用,如果浏览器禁用Cookie,Session则不发挥作用。

(3)为了防止禁止Cookie导致Session失效,.NET可以在configur中配置(<sessionState cookieless="AutoDetect"></sessionState>),服务器可以通过URL将SessionId传给浏览器。

(4)Session机制是.NET框架自己实现的,不是HTTP协议里面的东西。PHT,JAVA也都是自己实现Session机制的。

4. Session的使用和销毁

       (1)Session.Abandon(),销毁服务器端的Session对象。(可以作用于“退出”功能的实现)

       (2)Session.Clear(),清空服务器端的Session对象里的键值对,Session对象并没有从Session池中销毁。

       (3)凡是要访问Session对象的页面,必须实现IRequiresSessionState接口,给该页面类贴上标签。

       (4)销毁之后,SessionId还存在于浏览器端的Cookie中,浏览器还是会发送SessionId给服务器端,只不过在服务器端中的Session被销毁了。

二. 源代码

https://files.cnblogs.com/HuoAA/Session.rar

posted @ 2014-11-12 17:51  叫我霍啊啊啊  阅读(130)  评论(0编辑  收藏  举报