0

我有两个架构几乎相同的门户网站。一个要求我将以下内容添加到我的 web.config 并启用状态服务器,因为登录的用户会话会在 2-5 秒后过期:

<sessionState mode="StateServer"
                      stateConnectionString="tcpip=localhost:42424"
                      cookieless="false"
                      timeout="20"/>

我想知道哪些根本原因会在一个门户网站中导致此问题,而在另一个门户网站中则不会。

这是一个位于 Windows 2008 R2 上的 C# ASP.Net v3.5 应用程序。

奇怪的是,在我的本地开发盒(Windows 7)上,我不需要启用它,并且会话持续得很好。

对此的任何讨论将不胜感激。

4

1 回答 1

0

您还需要确保在您的服务器的 machine.config 文件或 web.config 中定义了一个机器密钥。

我已经在我的工作服务器上成功实现了这个场景,最近一次是上周,它确实有助于维护我的会话。

至于为什么你需要这样做——

客户端需要一种方法来跟踪他们的会话 ID。在农场场景中,根据流量,它们可以在一个页面请求上从服务器 #1 反弹到另一个页面请求上的服务器 #2,然后在另一个页面请求上返回到服务器 #1。

这个链接很有帮助。

于 2010-07-19T21:20:29.483 回答