A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王起 中级黑马   /  2013-3-14 13:16  /  1267 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Sessionid:SessionID是会不停变换的,也就是说一个clientPage并非Sessionid保持一致的,除非:
1,至少有一个request成功完整的执行
2,至少存储一些data在session state中,可以通过session变量或者加上session_onstart来实现。
session_onend:在InProc模式中支持,也就是说,只能在session data在asp.net worker process中时支持。
Session End事件仅在进程内回话模式情况下,请求结束时,Session.Ababdon()被调用时会被激发,或者回话过期时被激发。浏览器关闭并不会激发Session End事件。
相关问题:
关闭浏览器再开,怎么Session还在?
关闭浏览器Session当然仍然存在,因为Session是存储字服务器端的,而服务器是不可能直到你有没有关闭浏览器。服务器只是简单的保持Session接受用户请求,只有当Session一段事件没有被请求(比如30分钟以后),服务器才会把Session作废。客户端与服务器交互Session的时候,客户端会生成一个cookie,这个cookie包含了当前Session的ID号。你再次打开浏览器的时候,浏览器会发送这个ID号,如果此时Session还没有失效的话,服务器就能通过ID号识别出你,从而继续交互Session。一般来讲,如果服务器关闭,那么所有的Session都会消失。还有,Session的setAttribute根本不是用来设置Session的过期时间的。设置过期事件是在Web.xml里面,或者Session的setMaxInactiveInterval方法。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马