在会话超时之前,IIS 6中偶发的每个用户会话数据丢失,想要一些解决方案

时间:2011-04-13 21:42:43

标签: asp.net iis session

我在Windows Server 2003上使用IIS 6.0有2个IIS服务器。我们使用“循环法”进行网络平衡。获得一台服务器的用户将留在那里。 我们正在使用InProc状态管理。 我们的会话超时也是120分钟允许某些表单页面输入所需的数据可能需要超过90分钟。 这是正在发生的事情: 在某些情况下,用户在处理在2分钟到60分钟之间打开的页面时会丢失会话。其他时间会话保持不错。 我们可以看到会话丢失了,因为对象集合被设置回null以及我们用来跟踪用户当前使用的网站部分的整数。

我已经阅读了三个可用的内置状态服务器,甚至切换了我们的一个服务器以使用本地状态服务器,这实际上增加了我们收到的错误数量。

此外,我们在QA服务器上遇到了同样的问题,即Windows Server 2008上的IIS 7.5。

请注意这是零星的。特定用户会在其他用户会话正常的情况下发生这种情况。

非常感谢任何帮助或信息。

1 个答案:

答案 0 :(得分:0)

您的会话超时的原因可能是应用程序池达到其空闲超时阈值,或者池可能因错误而重新启动,或者因为它达到了它的循环间隔。

如果您希望用户坐在盯着单个页面的时间超过正常时间,我会考虑切换到使用进程外SQL会话状态管理器。使用SQL会话状态管理器还可以确保用户的会话在意外或IISRESET以及池重新启动/回收中存活。