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方法。 |
|