谁解释一下session的生命周期

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 20:44:57
谁解释一下session的生命周期
xTNQ?`I/m|hh%;(޸ ^p@~sOB 5$Dk:~8҈^r;,[2-yr~kqPa,2lV^#zU 4hĞj>}r5 rCsnN`\+6Fl]Ӄ6B{ ^'MCb%Xނt\a8i#P0^-Ф]`hDcUgQ1>rIrȢ]YF&V;F]b%!Â[ZGgu$zD`7>N+XKXzPW`r!v;,…N!Kͭ; aq7'$|.57k"ng.c\H#Pf{:&qM#%+*/YU|{(li]6?(:*0 ͤߴxL 'ϟ/jaa=b Z0D4dL֍:2 ո B$>lse%"vOUv>Q>&p2v $&?=r"vYixiAtRA3x =r"VT[o8j{; 7NX*Ɗ:guVb[`2P5}SwjڸOqr_`u뛎] ؤRg +5{̈wýV|.Zd(RAaH ;e 1.4/>f¼w˩./]x

谁解释一下session的生命周期
谁解释一下session的生命周期

谁解释一下session的生命周期
当Session对象为空,Session对象的生命周期还没有开始,Session ID Manager会为每一个请求页面赋予一个新的session ID,且每一次请求都不相同,直到有数据存储在Session对象中时,就按照图2所示的过程进行会话状态维护.有两个事件与Session对象的生命周期密切相关,分别是Session_OnStart(会话开始)和Session_OnEnd(会话结束).如果为Session_OnStart事件定义了处理程序(event handler),那么Session的生命周期从第一次请求该页面就开始,该页面的Session ID一被赋予就不再改变,Session即使为空也会被存储,因此,从性能的角度考虑,只有在必要时才为Session_OnStart事件定义事件处理程序.Session_OnEnd事件只有在InProc模式下,且Session已经存在的前提下才能被触发,这是因为该事件是由Cache对象在删除失效的Session对象时触发,可在该事件的处理程序中通过编码终止Session对象.
最后,再补充一点.由上面的讨论可知,Session 对象的实现与Cache对象有着密切联系,尤其是再InProc模式下,但是Session不能提供和Cache那样丰富的缓存过期和依赖机制.在InProc模式下,Session对象中的数据是否失效,只能通过设定sliding time来控制,即在指定的时间间隔内没用使用Session中的数据,数据自动删除.