代码之家  ›  专栏  ›  技术社区  ›  Bala

一个ASP.NET 关闭浏览器时会话是否过期?

  •  2
  • Bala  · 技术社区  · 16 年前

    4 回复  |  直到 14 年前
        1
  •  4
  •   Randy Abel    13 年前

    会话位于服务器上。当浏览器关闭的时间足够长或使用的时间不够长,或者新请求到达时,如果该请求不包含cookie,或者cookie引用的sessionid在过去太长(默认超时为20分钟),则该请求将过期。

    当没有连接时,会话将在一个不确定的时刻从内存中删除,或者在您以编程方式调用时从内存中删除 .Abandon

    当会话不可用或会话因超时而被清除时,将创建一个新的会话对象。如果这是浏览器请求的结果,则 Session_End 事件将在global.asax 文件。

    Session_Timeout . 进程外会话不会,并且将在状态服务器或SQL服务器中销毁。在后一种情况下,定期调用存储过程进行清理。只有在服务器上有活动时才会调用存储过程,这意味着会话在(数据库)内存中的生存时间可以超过20分钟,但在下次访问时会被销毁。

        2
  •  1
  •   Neil Barnwell    16 年前

        3
  •  1
  •   Ashley    16 年前

    浏览器会删除临时cookies,服务器会在上次访问后的预定时间内终止会话数据。

        4
  •  1
  •   Jonas Elfström    16 年前

    是的,不是的。它在服务器上一直存在,直到超时(通常是20分钟)。但由于它在浏览器中使用会话cookie保持活动状态,并且在浏览器关闭时过期,因此用户将无法再次重新连接到该会话。

    推荐文章