是什么杀死了我的用户的Asp.net会话?

时间:2010-01-07 10:52:56

标签: asp.net session iis-7

我们遇到了一些间歇性问题,一些用户失去了会话。我们在web.config中的会话设置如下:

<sessionState mode="InProc" timeout="1440"/>

......应该是24小时(在测试期间故意设置在顶部的值)。

我还需要注意其他任何设置(可能在IIS7中)吗?或者是否有任何资源会列出可以杀死用户会话的内容?

如果您需要更多信息,请与我们联系。

谢谢!

戴夫

4 个答案:

答案 0 :(得分:4)

更改web.config文件或任何dll会导致会话被破坏,应用程序池的回收也会被破坏(通常设置为20分钟不活动的超时,但也会在某些情况下发生异常情况和可能的记忆条件)

答案 1 :(得分:2)

检查应用程序池设置。有几件事可以干扰这个:

  • 流程回收设置;
  • 几个进程(然后每个进程都会保留自己的会话存储);
  • 更改web.config或其他与Web相关的文件会立即回收该过程。

答案 2 :(得分:1)

任何回收应用程序池的东西都会杀死InProc会话状态。

默认情况下检查应用程序池上的属性,有几个设置可能导致池在不到24小时内回收。

通常情况下,在测试时,网站上的活动很少,并且您会因池空闲超时而违反。

答案 3 :(得分:0)

感谢所有的回复,似乎是因为应用程序池设置为在凌晨3点回收,一些用户只是让他们自己登录过夜,然后只是在早上继续!我们现在添加了更好的会话超时处理。

再次感谢!

相关问题