2011-12-13 71 views
1

这是我在web.config中使用的语法。IIS 7.0会话过期ASP.net

但是我的会话在10到15分钟内到期不会停留2小时。

<sessionState cookieless="UseCookies" cookieName="ASP.NET_SessionId180" 
mode="InProc" timeout="120" /> 
+0

服务器上的日期和时间是否正确? – Oded

回答

0

“工作人员”最有可能是导致问题的人。如果回收它会重置会话,如果它的闲置时间足够长。

检查您的IIS AppPool设置并增加空闲超时设置。

2

一个可能的原因是应用程序域被IIS回收。而且,由于您正在使用InProc会话状态,AppDomain的整个内存都将被清除。 IIS可以在不同情况下回收AppDomain:达到一定的不活动时间或CPU /内存阈值限制。

你可以在following blog post了解更多。

+0

默认是10分钟或20分钟tmieout。 – TomTom

0

当您使用InProc会话状态时,可能会由于某些操作而回收池:修改web.config,将文件复制到bin文件夹,... 还检查池的回收参数。 您可以尝试为会话使用StateServer选项。为此,您需要启动ASP.NET状态服务并检查您的对象是否标记为可序列化。