繁体   English   中英

新部署后出现“无效的回发或回调参数”

[英]“Invalid postback or callback argument” after new deployment

最近将项目部署到生产中,并遇到“无效的回发或回调参数”错误。 在测试中我们完全没有遇到过这种情况,并且经过一些研究发现问题是在以下情况下发生的:

  1. 旧版本已发布并可以访问。
  2. 在不清除临时文件的情况下发布和访问新版本。
  3. 下拉菜单更改两次。 (第一次一切正常。)

对于已致电的客户端,修复程序是清除其临时Internet文件,但这不是理想的修复方法。 谁能想到临时文件被清除后为什么会发生并停止发生的原因?

顺便说一句:该应用程序是用C#编写的ASP.NET 3.5。 我们在导致此问题的特定控件中使用了JavaScript回调。

由于您提到您使用的是JavaScript回调,因此这可能与事件验证有关。 如果是这样,则有一个针对该问题的解决方法,即将以下行添加到web.config中:

<pages enableEventValidation="false"/>    

因此,事件验证在您的页面中被禁用。 出于安全原因,不建议将其关闭,因为它会验证参数是否由服务器控件产生。

您可以在此处获取有关为什么会发生此错误的详细信息。

我们不想使用“ enableEventValidation = false”技巧,因为这不是一个一致的问题。 从很早开始,我们就可以通过清除临时文件来逐个解决问题。

今天再看一遍后,建议我们重命名js文件并注意,此问题已在本地解决。 似乎每个用户都已经存储了我们的旧js文件。

至于为什么它会抛出“无效的回发”而不是javascript错误,我们不确定。 还有其他方法可以在脚本标签中指定版本号,但现在我们选择了重命名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM