.net mvc会话超时甚至在添加sessionstate之后

时间:2012-04-09 09:30:44

标签: c# asp.net-mvc-3

应用程序:

- .net MVC 3 / c#/ SQL Server 2008

问题:

  • 离开应用程序无人值守后不超过5分钟必须再次登录。
  • 有时即使在应用程序内部工作,我也会在某个地方点击它,然后它会将我带回登录界面。
  • 没有出现任何类型的错误弹出,只需要再次登录。

我知道有关于这篇文章的一些主题但是我想在我的web.config文件中添加我当前使用的代码。我试图在里面添加会话超时标记,但问题仍然存在。

我没有粘贴所有代码,但我添加了我认为与此问题相关的代码,如果我遗漏了其他内容,请告诉我。

这是我添加的内容:

<sessionState mode="InProc" timeout="200000"/>
         <customErrors mode="Off"/>

<authentication mode="Forms">
      <forms loginUrl="Login/Login">
      </forms>
    </authentication>

    <authorization>
      <deny users="?" />
    </authorization>

还有别的我想念的东西。我觉得在添加sehtionstate行后没有任何改变。根据我的理解,没有会话状态,默认值为30分钟,但在此之前我被赶出了。

我也看到了一些sesstionstate设置超过我添加的行,所以不确定我是否遗漏了那里的东西。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

在ASP.NET中,会话超时和表单身份验证票证超时是单独的概念。这些值存储在不同的cookie中,并且不相关。要提高超时时间,请参阅KB910443并尝试修改web.config的<authentication>标记,如下所示:

<authentication mode="Forms">
  <forms loginUrl="Login/Login" timeout="200000" slidingExpiration="true">
  </forms>
</authentication>

答案 1 :(得分:0)

您是否自己实例化了身份证明票?然后检查那里的超时。

另外,您可以检查是否使用jQuery空闲超时。