视图状态错误无效

18 viewstate scriptresource.axd

关于ScriptResource.axd,我收到了一个无效的viewstate错误.只是想知道你是否有人可以帮助我.错误是:

2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Request start - URL: /Web/ScriptResource.axd?d=E9hlvtsn8Gr1MyjysW1gFDFYr4CVwstY-sC22tRu5V8d7UyEYz3FhVYGrlhY87n2ihgKh58RrMRhK-Yk2WcQahEaCg_asTInqHK
2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Application_AuthenticateRequest started
2009-02-24 09:46:30,021 [13] ERROR ASP.global_asax [(null)] - Unexpected error.  User presented with Site Error page.
System.Web.HttpException: Invalid viewstate.
   at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
   at System.Web.UI.Page.DecryptString(String s)
   at System.Web.Handlers.ScriptResourceHandler.DecryptParameter(NameValueCollection queryString)
   at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponse response, NameValueCollection queryString, VirtualFileReader fileReader)
   at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context)
   at System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

这发生在生产环境中.我无法在开发和测试环境中重现这一点.这些页面也只能由经过身份验证的用户访问.如果你能对这个问题有所了解,那将是真的.

cod*_*ike 5

我认为这些错误是由于不同的原因而在不同的浏览器中发生的,这使得它很难被追踪.

IE8错误

微软已经表示IE8中的一个错误(在某些情况下)会产生对服务器的虚假请求,这些错误不会影响用户,但会导致在服务器端记录错误.

在这里看到这个讨论:错误IE8 - 4K掉线 - 加载ScriptResource.axd时"无效的viewstate" (编辑:链接现在因某种原因需要登录,抱歉)

...特别是EricLaw-MSFT的更新,他说:

值得一提的是,在IE6/IE7或Firefox中遇到问题的任何人遇到的问题与下面描述的IE8问题无关.

这篇博客文章还描述了错误:IE8的Lookahead Downloader中的错误

他们说改变你设置Content-Type的方式将有助于解决一些错误,虽然不是全部 - 他们说这是由他们仍在关注的各种模糊环境引起的.

更新:截至2010年4月1日,这些IE8错误已通过IE8累积更新(KB980182)得到修复.
这篇文章:IE8 Lookahead Downloader Fixed提供了有关错误和其他可能/部分解决方法(例如这一个)的更多细节,而不是等待世界上的每个人下载修复程序.

其它浏览器

尚未弄清楚,但其他浏览器也会产生这些错误,可能是出于不同的原因.

网络农场

此问题不仅限于在Web场上运行的站点,但如果您正在运行场,请查看jesal的此答案,这可能有所帮助


Bes*_*ska 1

我建议看看这个......它基本上概述了根据文档类型可能发生这种情况的一些情况。我们遇到了类似的问题,而且它似乎只是不规律地显示......对我们来说,这是我们的 XHTML 文档类型和页面上的 javascript 之间的冲突。我们能够通过确保所有 javascript 都正确包装在标签中来解决这个问题。

<script>
     mycode;
</script>
Run Code Online (Sandbox Code Playgroud)

会成为

<script>
// <![CDATA[
    mycode;
// ]]>
</script>
Run Code Online (Sandbox Code Playgroud)

这可能不是一个完全相同的问题,但如果您有一个 xhtml 文档类型,请查看是否在某处存在不合法 XML 的未转义字符(例如“<”字符)。