ASP.NET会话变量超时时间

3

我正在使用asp.net(.net 4.0)在iis6上,有一个SessionVariable,在大约20-30分钟后就会消失。

我尝试了我能在互联网上找到的一切方法:

我的web.config文件包含:

<sessionState mode="InProc" cookieless="false" timeout="120" />
<httpRuntime requestValidationMode="2.0" maxRequestLength="204800"
executionTimeout="3600" />
<forms loginUrl="/subsidies/inlog.aspx" name=".ASPXFORMSAUTH" timeout="120" />
<membership defaultProvider="MyMembershipProvider" userIsOnlineTimeWindow="121">

Machine:

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\web.config

<system.web>
  <sessionState timeout="120" />

应用程序池:

回收工作进程的时间间隔(分钟):120

在空闲一段时间后关闭工作进程(时间以分钟为单位):120

网站属性:

连接超时:120秒

主目录 > 配置 > 选项 > 应用程序配置 >

  • x 启用会话状态(已启用)
  • 会话超时时间:120分钟

然而,会话变量在约20-30分钟后就消失了。希望有人能够帮助我解决这个问题....

2个回答

2

我终于找到了问题。它已经被解决了。

问题出在应用程序池上。每次重启后,会导致会话丢失。所以我们关闭了应用程序池的自动回收,并且安排每天定时重启一次。


1

您似乎正在使用表单身份验证。请确保在您的web.config文件中slidingExpiration设置为False。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接