我们有一个运行在负载平衡服务器实例上的应用程序,因此配置为使用在我们的一个数据库服务器上运行的ASP.NET会话状态服务.虽然我们的应用程序的两个实例都可以成功连接到状态服务器,但会话状态数据的更改不会反映在它们之间.FI,如果我Session.Add('SomeKey', SomeData)
在服务器A上调用,如果我然后尝试Session['SomeKey']
在服务器B 上访问,则不会反映这一点.
Session.SessionID在两台服务器上返回相同的值,并且我已检查它们是否都使用在machine.config的machinekey部分中配置的相同validationkey和decryptionkey值.我甚至尝试在应用程序web.config中指定这些值.
我应该注意哪些可能导致这些症状的其他事项,以及人们可以推荐哪些步骤来帮助调试此问题?
这有用吗:
http://support.microsoft.com/kb/325056?
要在Web场中的不同Web服务器之间维护会话状态,Microsoft Internet信息服务(IIS)元数据库中的Web站点(例如,\ LM\W3SVC\2)的应用程序路径必须对于所有Web都相同Web场中的服务器.案例也需要相同,因为应用程序路径区分大小写.