我有一个使用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">
该页面上有许多控件,非常动态。我该怎么做来调试这个问题?有没有办法只关闭该页面上的ViewState验证?
答案 0 :(得分:1)
请参阅以下帖子,可能有所帮助http://www.ifinity.com.au/Products/Support_Forums/forumid/8/threadid/1341/scope/posts/threadpage/2
修复摘要:
viewstate显然处理不当,最后一次更改是url rewriter,所以猜测我已经在urlrewriter条目上方的web.config文件中移动了viewstate模块的httpmodule条目,模糊地希望它会首先执行。确实如此,现在一切正常。很有可能我打破了别的东西(你知道它是怎么回事)所以我还没有高兴,但看起来很有希望。
答案 1 :(得分:1)
我在DNN 6.2.9网站上遇到同样的问题,各种网页在正常情况下都能正常工作。但是,当我在日志中看到此错误时,它总是有一个不寻常的UserAgent,例如“Mozilla / 4.0(兼容; Synapse)”。看到这个帖子“What is Apache Synapse?”在superuser.com上获取有关此特定信息的更多信息。如果是恶意流量POST任意内容,它将生成此错误。