0

我有一个 MVC 4 Web 应用程序,可以快速注销一些用户。身份验证 cookie 似乎设置正确(我还将超时设置为 720(12 小时))。我还在配置文件和 IIS 中设置了会话超时。这个问题似乎发生在 IE 上,大部分时间用户在 10 分钟后注销。和往常一样,我无法重现这个问题。

我想知道ajax调用是否会导致问题?还是http头?我对这个问题进行了很多搜索,但除了基本的 web.config 设置之外什么也没找到。

有我的会话、成员资格和身份验证配置

<sessionState timeout="720"  mode="InProc"/>
<membership defaultProvider="SimpleMembershipProvider" >
  <providers>
    <clear/>
    <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
  </providers>
</membership>
<authentication mode="Forms">
  <forms requireSSL="false" domain="dpars.com" loginUrl="~/Account/Login" protection="All" name="DPARSAuth" slidingExpiration="true" timeout="720"></forms>
</authentication>    
4

1 回答 1

0

您可能会丢失会话,因为您使用的是 InProc 会话状态模式,该模式将会话存储在内存中。当您使用此模式时,只要 Web 服务器进程重新启动,会话就会丢失,这可能由于多种原因而发生。

尝试将 sessionState 模式更改为“SQLServer”或“StateServer”,看看是否能解决问题。

可以在此处找到有关配置这些选项的更多信息:http: //msdn.microsoft.com/en-us/library/ms178586 (v=vs.100).aspx

于 2014-11-26T17:12:50.367 回答