首页 综合问答正文

session的存活时间(谁解释一下session的生命周期)

综合问答 2024-06-15 04:04:11
导读 一般情况下,不管向服务器发送了多少次请求,只有当开始向Session中存储会话状态数据时,Session对象的生命周期才算真正开始,这一点不同于...

一般情况下,不管向服务器发送了多少次请求,只有当开始向Session中存储会话状态数据时,Session对象的生命周期才算真正开始,这一点不同于Cache和Application对象(Application对象的生命周期开始于向网络应用程序发送第一个请求时)。

当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中的数据,数据自动删除。

且考虑Cache自身的特点,Session中的数据也可能在服务器端内存资源不足的情况下,由于内存回收而丢失。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

头条推荐

session的存活时间(谁解释一下session的生命周期)

session的存活时间(谁解释一下session的生命周期)

淘汰英文是什么(淘汰英文)

淘汰英文是什么(淘汰英文)

性格有哪些特性(性格有哪些)

性格有哪些特性(性格有哪些)

焦点宏怎么做(焦点宏)

焦点宏怎么做(焦点宏)

transaction什么情况下无效(transactions)

transaction什么情况下无效(transactions)

个人月度工作总结(个人通用)(月末总结)

个人月度工作总结(个人通用)(月末总结)

直角三角形和钝角三角形的高怎么画(钝角三角形的高怎么画)

直角三角形和钝角三角形的高怎么画(钝角三角形的高怎么画)

拔冗莅临啥意思(拔冗莅临是什么意思)

拔冗莅临啥意思(拔冗莅临是什么意思)

世界河流流量排名前50(世界河流)

世界河流流量排名前50(世界河流)

元音字母和辅音字母有哪些拼音(元音字母和辅音字母有哪些)

元音字母和辅音字母有哪些拼音(元音字母和辅音字母有哪些)

图文推荐

《何处闻笙箫》(何处闻灯不看来上一句)

《何处闻笙箫》(何处闻灯不看来上一句)

沧州教育局电话(沧州教育局)

沧州教育局电话(沧州教育局)

中医学基础知识重点笔记(中医学基础)

中医学基础知识重点笔记(中医学基础)

联轴器柱销螺栓规格表图(联轴器柱销螺栓规格表)

联轴器柱销螺栓规格表图(联轴器柱销螺栓规格表)

18岁女孩儿的游戏(适合18岁女生玩的游戏)

18岁女孩儿的游戏(适合18岁女生玩的游戏)