Asp.net会话变量超时

时间:2011-07-06 15:25:35

标签: asp.net session-state session-timeout

我在iis6上使用asp.net(.net 4.0),会话变量在大约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">

机:

C:\ Windows \ Microsoft.NET \框架\ v4.0.30319 \配置\ web.config中

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

应用程序池:

回收员工流程(以分钟为单位):120

空闲后关闭工作进程(以分钟为单位):120

网站属性:

连接超时:120秒

主页目录&gt;配置&gt;选项&gt;应用程序配置&gt;

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

然而,会话变量在大约20-30分钟内消失了。 希望有人可以帮助我......

2 个答案:

答案 0 :(得分:2)

我终于找到了问题。它是固定的。

问题是应用程序池。在每次回收时,会话都丢失了。因此,我们确实关闭了应用程序池回收,并且每天安排一次回收。

答案 1 :(得分:1)

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