我有一个ASP.NET 3.5 webforms应用程序,它位于两个3.5服务器(IIS)上,并通过具有粘性亲和力的内容交换机进行负载平衡。我有一个将数据放入会话变量的页面,javascript打开一个新的浏览器窗口,在该页面的page_load事件中,我检索该会话变量并显示数据。
问题是,在IE的所有版本中,大约有7/10的版本没有显示任何数据。如果我不断刷新新打开的窗口,它最终会显示数据。在打开浏览器窗口之前,我可以验证会话变量是否有效。
另外一个问题是firefox没有这个问题。第一次显示数据的概率为100%。问题是我们并不(官方)支持firefox。
我们不能访问任何第三方数据存储,比如MSSQL或MySQL,所以在那里存储会话数据是没有选择的。此外,缓存数据客户端的能力是不实际的,在某些情况下也不是一种选择。
这不是本地发生的,也不是在我们的测试环境(不是负载平衡的)中发生的,所以我真的很困惑。任何帮助都将不胜感激。
谢谢。
发布于 2011-07-27 22:24:25
您提到您正在使用粘性会话/亲和性。您能否确认您的负载均衡器正在查看HTTP cookie(不仅仅是IP地址)来确定粘性,因为IP地址可能会在单个会话期间发生变化(例如,将笔记本电脑连接到有线和无线网络之间)。
https://stackoverflow.com/questions/6845875
复制相似问题