昨天在我们的某个网站上发现了此问题。首先,该网站托管在Web场环境中,暂时我在两个节点(2节点环境)上为web.config添加了一个静态machineKey。这已经解决了这个问题,现在一切运行良好。视图状态MAC验证失败
这引发了以下问题: 为什么我们在此环境中运行的所有其他网站都不需要此(web.config中的machineKey)。
我检查了事件日志以确保我们在其他网站上没有相同的问题,一切都很正常。我还确认应用程序池不会经常回收,关于应用程序池设置,一切都是正常的。
我能想出的唯一解释是,该网站是由一个节点渲染的,后续的后台转到另一个节点 - 这会让我相信问题在于负载平衡器。我们的基础架构人员告诉我,关于负载平衡器和我提议的场景不会发生的情况,应该是这样。
我是否错过了这里的显而易见的东西,或者有什么我可以考虑的吗?
在此先感谢
+1对于粘滞会话的想法 - 我有网络人员检查如何配置这个特定的网站会话持久性。我非常怀疑,页面加载速度太慢或没有完全加载之前回发生 - 它是一个页面“感兴趣的注册”类型的网站与几个文本框字段和没有沉重的图形(使用CSS精灵来减少HTTP请求和总图像大小) – 2010-01-27 00:10:13
负载平衡器上的会话持久性或“粘滞会话”设置为0秒,因此请求会根据流量负载在服务器之间弹出。解释为什么我们的其他网站没有在web.config中定义的静态machineKey运行良好,因为它们坚持单个节点 - 感谢您的建议。 – 2010-01-27 00:33:26
没问题,我自己也犯过类似的错误;) – 2010-01-27 00:57:08