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

admin 0 2023-05-03 05:40:04

大家好,乐天来为大家解答以下的问题,关于session的存活时间,谁解释一下session的生命周期这个很多人还不知道,现在让我们一起来看看吧!

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

2、当Session对象为空,Session对象的生命周期还没有开始,Session ID Manager会为每一个请求页面赋予一个新的session ID,且每一次请求都不相同,直到有数据存储在Session对象中时,就按照图2所示的过程进行会话状态维护。

3、有两个事件与Session对象的生命周期密切相关,分别是Session_OnStart(会话开始)和Session_OnEnd(会话结束)。

4、如果为Session_OnStart事件定义了处理程序(event handler),那么Session的生命周期从第一次请求该页面就开始,该页面的Session ID一被赋予就不再改变,Session即使为空也会被存储,因此,从性能的角度考虑,只有在必要时才为Session_OnStart事件定义事件处理程序。

5、Session_OnEnd事件只有在InProc模式下,且Session已经存在的前提下才能被触发,这是因为该事件是由Cache对象在删除失效的Session对象时触发,可在该事件的处理程序中通过编码终止Session对象。

6、最后,再补充一点。

7、由上面的讨论可知,Session 对象的实现与Cache对象有着密切联系,尤其是再InProc模式下,但是Session不能提供和Cache那样丰富的缓存过期和依赖机制。

8、在InProc模式下,Session对象中的数据是否失效,只能通过设定sliding time来控制,即在指定的时间间隔内没用使用Session中的数据,数据自动删除。

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

本文分享完毕,希望对大家有所帮助。

  • 版权声明:免责声明:本文来源网友投稿及网络整合仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。投诉邮箱:1765130767@qq.com。
  • 本文地址:http://www.wuliudaohang.com/shbk/45691.html
  • 上一篇:以太网是本地连接吗 以太网连接是什么意思
  • 下一篇:英雄联盟短信认证 英雄哀悼词短信
  • 相关文章
    返回顶部小火箭