在将我们的网站推送到我们的客户端生产服务器时出现此错误,但该页面在其开发/测试服务器上运行正常。导致此错误的原因(考虑到我自己没有使用任何Web资源,但我使用的是asp.net ajax工具包)。
答案 0 :(得分:11)
您是否可以获得有关此错误的完整堆栈跟踪?服务器事件日志中会有一个(系统或应用程序,不记得哪个)?
ASP.NET的各个部分都使用脚本资源,至少有两个稍微模糊不清的原因导致它们失败,我想到了这种错误。
还有很多其他原因(例如上面提到的不正确的uris或querystrings被破坏),但是有一个完整的堆栈跟踪将有助于此。
答案 1 :(得分:3)
最终的错误是由于管理员没有告诉我们的服务器发生了一些URL重写。小心那个
答案 2 :(得分:2)
我以前一直都会遇到这个恼人的错误。用户确实受此错误的影响。我们曾经抱怨页面加载不正确。在尝试添加DOCTYPE
等许多内容之后,错误并没有完全消失。然后我们尝试在会话中存储所有VIEWSTATE
。 Violà没有更多的错误。如果您的应用程序具有像我们这样的膨胀视图状态,那么您将在日志中看到此错误。常。
答案 3 :(得分:1)
如果确实使用多台服务器,请尝试以下操作: 添加到您的web.config:
<machineKey
validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7
AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F"
validation="SHA1"
decryption="AES"
/>
但是使用此处的代码示例自己生成validationKey和decryptionKey: http://msdn.microsoft.com/en-us/library/ms998288.aspx 上面的链接还解释了有关此解决方案的更多信息,请查看该页面,在该页面上查找 Web场部署注意事项
答案 4 :(得分:0)
您可以查看产生此错误的网址。 Web资源(由Ajax Toolkit使用)依赖于查询字符串参数。如果该参数以某种方式被更改(可能是由某个恶意用户),则HTTP处理程序将抛出异常,它无法找到所请求的Web资源。