ASP.NET Web窗体应用程序中的用户负载平衡和会话状态丢失

时间:2015-02-06 12:28:21

标签: asp.net load-balancing

所以我使用机器密钥生成Web应用程序生成machineKey元素。然后我把它放在web.config的适当位置。服务器管理员部署到两个服务器并将负载均衡器指向它们。

无论出于何种原因,当我进入preprod负载平衡站点时,它工作正常。我登录,在网站上做的东西,一切都很好的世界。但是,有一个用户反复访问该站点,并且存在症状是会话状态丢失的问题。我查看了他的消息,基本上是登录成功,将项目存储在会话状态,重定向到页面,检查返回的项目为空,然后给出消息。

为什么我没有经历这个,但他是?更重要的是,我如何确保他不会失去会话状态?

1 个答案:

答案 0 :(得分:0)

发现问题所在,但不幸的是,基于这个问题,没有给出足够的信息可能会出现这个问题:

1) This issue was only impacting Internet Explorer as far as can be figured out.
2) The hostname included an underscore in the name (server administrator given)

这是Internet Explorer正确的情况。主机名包含一个下划线,使其无效。由于这一事实,Internet Explorer拒绝创建cookie(至少在默认情况下是这样。不确定是否可以覆盖Internet Explorer中的行为)。我的猜测是Firefox和Chrome只是对它视而不见并且相应地工作。

在请求并接收URL重命名后,Internet Explorer再次正常运行。