在标题中,我想知道当客户端的浏览器关闭时会话如何到期?
答案 0 :(得分:4)
会话存在于服务器上。当浏览器关闭时间过长或者浏览器使用时间过长或者新请求到达时不包含cookie,或者cookie引用过去太远的sessionid时(默认超时为20分钟),它会过期)。
如果没有连接,会话将在未确定的时刻从内存中删除,或者以编程方式在会话中调用.Abandon
。
当会话不可用或会话因超时而被清除时,将创建一个新的会话对象。当这是浏览器请求的结果时,Session_End
事件将在global.asax文件中触发。
注意:会话超时和清除的实际方式取决于。即,inproc会话将被销毁并触发Session_Timeout
。进程外会话不会,也将在状态服务器或SQL服务器中销毁。在后一种情况下,定期调用存储过程进行清理。只有在服务器上有活动时才会调用存储过程,这意味着会话在(数据库)内存中的存活时间可能超过20分钟,但在下次访问时会被销毁。
答案 1 :(得分:1)
在Web服务器(例如IIS)上定义。上次访问后的典型默认值约为20分钟(即该会话的Web请求)。此时会话被清除,因此应用程序需要使用cookie或某些服务器端状态来确定某人是谁进行回访,以使体验无缝。
答案 2 :(得分:1)
删除浏览器临时cookie,服务器在自上次访问后的预定时间后终止会话数据。
答案 3 :(得分:1)
它确实有没有。它存在于服务器上,直到超时(通常为20分钟)。但由于它在浏览器中使用会话cookie保持活动状态,当浏览器关闭时,会话cookie将会过期,用户将无法再次重新连接到该会话。