Asp.net mvc 4 ASP.NET MVC 4会话超时

Asp.net mvc 4 ASP.NET MVC 4会话超时,asp.net-mvc-4,forms-authentication,Asp.net Mvc 4,Forms Authentication,我正在使用VS 2012,IIS 7.5开发一个带有ASP.NET MVC4的互联网应用程序。我正在使用表单身份验证。我的web配置中的设置如下所示 <authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="30" name="userInfo" slidingExpiration="true" enableCrossAppRedirects="false" protection="

我正在使用VS 2012,IIS 7.5开发一个带有ASP.NET MVC4的互联网应用程序。我正在使用表单身份验证。我的web配置中的设置如下所示

<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="30" name="userInfo" slidingExpiration="true" enableCrossAppRedirects="false" protection="All" >
    <credentials passwordFormat="Clear"/>
  </forms>
</authentication>

但是IIS中的空闲超时(分钟)设置为20。当我在20多分钟后刷新应用程序时,我收到一个错误,说我的一个会话对象为空。但如果我在30分钟后刷新我的应用程序,它工作正常,它会将我重定向到登录页面。输入凭据后,我将正确导航到相应的页面

我不明白为什么20分钟后我会出错!(据我所知,这是IIS空闲时间设置)。请帮忙


谢谢

表单身份验证不处理会话超时。您希望调整会话状态超时。有一篇关于web.config的sessionState元素的文章,了解更多详细信息


如果您要使用会话状态,我会仔细阅读不同的提供者。如果您希望将应用程序扩展到单个web服务器之外,则需要使用不同于InProc的会话提供程序。使用进程外会话提供程序要求对象是可序列化的,这可能是以后的突破性更改。现在进行更改以避免以后的麻烦。

您使用的是服务器上保存的会话变量还是SQL中保存的会话变量?您的会话很可能即将过期,但您的登录仍然有效10万次,这就是为什么您在30次尝试后才被重定向。我们将MV3改为4,现在我们的会话在连接后5分钟超时,有什么想法吗?