【问题标题】:IIS 7.0 Session expiring ASP.netIIS 7.0 会话过期 ASP.net
【发布时间】:2012-01-19 05:04:30
【问题描述】:
这是web.config 中使用的语法。
但我的会话会在 10 到 15 分钟内到期,不会停留 2 小时。
<sessionState cookieless="UseCookies" cookieName="ASP.NET_SessionId180"
mode="InProc" timeout="120" />
【问题讨论】:
标签:
asp.net
iis
session-timeout
【解决方案1】:
当您使用 InProc 会话状态时,池可能由于某些操作而被回收:修改 web.config,将文件复制到 bin 文件夹,...
还要检查池的回收参数。
您可以尝试为会话使用 StateServer 选项。为此,您需要启动 ASP.NET 状态服务并检查您的对象是否被标记为可序列化。
【解决方案2】:
“工人”很可能是导致您的问题的人。如果它回收,如果它空闲的时间足够长,它将重置会话。
检查您的 IIS AppPool 设置并增加空闲超时设置。
【解决方案3】:
一个可能的原因是应用程序域被 IIS 回收。而且由于您使用的是 InProc 会话状态,因此 AppDomain 的整个内存都会被清除。 IIS 可以在不同的情况下回收 AppDomain:一定时期的不活动或达到 CPU/内存阈值限制。
您可以在following blog post 中了解更多信息。