【发布时间】:2011-07-04 13:35:18
【问题描述】:
我们有一个系统,可以在每次回帖时动态创建页面控件,并使用浏览器历史记录等进行处理。
问题在于,在生产服务器(NLB 上的 2 个节点)上,我们在没有发现相关性的不同位置随机出现,加载视图状态失败,控制树可能是不同的错误。但是,在我们的登台服务器上完全相同的代码(与生产相同的 NLB 设置)从未发生过。
此时我基本上排除了它的代码,因为它根本不会发生在开发/暂存或本地环境中,而在生产环境中它相当频繁。这让我相信我们在某个地方存在配置错误。
我在用于登台和生产的 web.config 中设置了硬编码的机器密钥,并且会话支持 MSSQL。
如果有人有建议让我朝着正确的方向前进,那就太好了,我们整个开发团队都会为此感到难过。
我们的 webconfig 位于 pastbin:http://pastebin.com/m2kRTd0k
【问题讨论】:
-
几年前我在 SO 上发布了一个类似的问题,它可能是相关的。见这里:stackoverflow.com/questions/343153/…
-
请求很短,视图状态并不接近您问题答案中指示的长度。这是来自提琴手的帖子请求:pastebin.com/J2HaL51D 唯一奇怪的是 __viewstateencrypted=&... 但不知道它是否应该是这样。
-
那么,生产区和暂存区有什么不同呢?同意程度?客户多元化?一些微妙或被忽视的配置设置?也许是一些物理变化、硬件或环境......
-
到目前为止,我发现的唯一一件事是我们的 iis 在生产中绑定到 ip 而不是主机名,并且 Windows 更新被禁用。我现在正在运行 Windows 更新,所以它与我们的暂存环境版本相同。
-
网站也运行 SSL。仍然没有解决它,我降低了它发生的频率,由于某种原因,它试图将它们反弹到 404 的表单登录页面,在我们的暂存框上设置相同的方式,但它从未将它们重定向到那里。我将其重定向到正确的位置,它减慢了此错误的频率。仍然发生了一点。
标签: c# asp.net viewstate nlb failed-to-load-viewstate