仅在一个页面上关闭视图状态验证



我有一个使用DotNetNuke的 ASP.NET 4.0站点,其中包含许多页面和自定义构建的模块。 其中一个页面(自定义构建模块)随机引发以下异常:

The state information is invalid for this page and might be corrupted.

我在 web.config 中有validateRequest="false"

<system.web>
    <httpRuntime enableVersionHeader="false" requestValidationMode="2.0" />
    <pages validateRequest="false" enableViewStateMac="true" enableEventValidation="true" viewStateEncryptionMode="Always">

该页面上有许多控件,并且非常动态。 我应该怎么做才能调试这样的问题?有没有办法仅在该页面上关闭视图状态验证?

请参阅以下帖子,可能会有所帮助 http://www.ifinity.com.au/Products/Support_Forums/forumid/8/threadid/1341/scope/posts/threadpage/2

修复摘要:

视图状态显然处理不正确,最后一个更改是 url 重写器,所以猜测我已经将 web.config 文件中 viewstate 模块的 httpmodule 条目移到了 urlrewriter 条目上方,模糊地希望它会首先执行。它确实如此,现在一切正常。我很有可能打破了其他东西(你知道它是怎么回事),所以我还没有高兴得跳起来,但它看起来很有希望。

我在 DNN 6.2.9 网站上遇到了同样的问题,其中各种页面在正常情况下运行良好。但是,当我在日志中看到此错误时,它总是有一个不寻常的用户代理,例如"Mozilla/4.0(兼容;突触)"。请参阅 superuser.com 上的此主题"什么是Apache Synapse?"以获取有关此特定主题的更多信息。如果是恶意流量发布任意内容,则会生成此错误。

最新更新