ASP.NET MVC应用程序中的SessionState

时间:2019-07-01 21:22:03

标签: asp.net-mvc asp.net-mvc-5.1

我有一个ASP.NET MVC应用程序。我有以下内容:

<sessionState timeout="60" />

我的问题是,如果用户进入某个页面并花费60多分钟来填写页面上的所有字段,那是否会构成超时?什么构成超时?用户是否需要浏览不同的页面,以便不会发生超时?

2 个答案:

答案 0 :(得分:1)

简单的答案是-是的,一个人在同一页面上花费的时间超过超时时间(在您的示例中为60分钟)会导致超时。

会话是服务器端的,因此,如果在超时时间内没有任何请求发送到服务器,则该会话将过期,并且所有保存的会话变量都将丢失。

如果您的页面正在向服务器进行AJAX调用,则可能会使事情变得复杂一些,这可以使会话保持活动状态,而无需导航到其他页面。

答案 1 :(得分:0)

会话数据自上次请求开始存储了60分钟。因此,如果您访问某个页面并且某项存储为您的会话数据,则在60分钟后它将自动删除,除非您有在此时间段内提出了新要求。  您不应该尝试使用会话长时间存储数据。