会话超时不起作用?

Session timeout not working?

我使用的是创建新项目后获得的默认 web.config,我没有看到任何 "timeout" 参数,所以我这样添加它:

<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout ="7">
  <providers>
    <add name="DefaultSessionProvider"
      type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
      connectionStringName="DefaultConnection"/>
  </providers>
</sessionState>

我已登录我的帐户,现在我一直刷新页面大约 14-15 分钟,但我没有注销。 (它应该让我在 7 分钟后注销)。

如果您想要验证超时,请在 <authentication> 标签中指定。

<authentication mode="Forms">
      <forms timeout="7"/>
</authentication>

如果你想要会话

<system.web>
 <sessionState mode="InProc" cookieless="false" timeout="7" />
</system.web>

有几种方法可以实现,这取决于您的网站设置方式。

  1. 在web.config属性sessionState

  2. 配置 IIS 应用程序池

  3. 如果您使用的是 Identity,则需要在 ConfigureAuth()

  4. 中设置 ExpireTimeSpan