asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – System.Web.UI.ViewStateException,无效的viewstate大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的网站每天都抛出以下异常,我找不到解决方案.
我在网上做了很少的研究,这是我到目前为止所做的.将以下选项添加到aspx将无法解决问题.

此外,我的推荐网址是正确的网址,我不知道它如何重定向两个(相同)参数.我的推荐页面中没有这样的链接.请帮忙.

错误日志

URL : http://www.abcd.com/company-details.aspx?com=asia-pacific-pte-ltd&com=asia-pacific-pte-ltd

referral URL : http://www.abcd.com/companies/asia-pacific-pte-ltd/

Inner Exception Type: System.Web.UI.ViewStateException

Inner Exception: Invalid viewstate. Client IP: 192.162.19.193 Port: 1966 User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; MRA 6.0 (build 6001)) Presto/2.12.388 Version/12.11 ViewState: /wEPDwULLTEymTAymTY3NDAPZBYCAgMPZBYOZg8QDxYGHg1EYXRhVGV4dEZpZWxkBQdDb3VudHJ5Hg5EYXRhVmFsdWVGaWVsZAUNQ2xlYW5fQ291bnRyeR4LXyFEYXRhQm91bmRnZBAVCgNBbGwFQ2hpbmEJSG9uZyBLb25nBUluZGlhCUluZG9uZXNpYQhNYWxheXNpYQtQaGlsaXBwaW5lcwlTaW5nYXBvcmUIVGhhaWxhbmQHVmlldG5hbRUKA0FsbAVjaGluYQlob25nLWtvbmcFaW5kaWEJaW5kb25lc2lhCG1hbGF5c2lhC3BoaWxpcHBpbmVzCXNpbmdhcG9yZQh0aGFpbGFuZAd2aWV0bmFtFCsDCmdnZ2dnZ2dnZ2dkZAIBDxAPFgYfAAUISW5kdXN0cnkfAQUOQ2xlYW5fSW5kdXN0cnkfAmdkEBXFAgNBbGwSQWR2YW5jZWQgTWF0ZXJpYWxzC0FkdmVydGlzaW5nCkFlc3RoZXRpY3MLQWdyaWN1bHR1cmUkQWdyaWN1bHR1cmUgLSBBZ3JpY3VsdHVyYWwgTWFjaGluZXJ5G0FncmljdWx0dXJlICYgRm9vZCBQcm9kdWN0cxBBaXItY29uZGl0aW9uaW5nHUFpci1maWx0cmF0aW9uICYgUHVyaWZpY2F0aW9uB0FpcnBvcnQJQWx1bWluaXVtFEFuYWx5dGljYWwgRXF1aXBtZW50GkFuYWx5dGljYWwgSW5zdHJ1bWVudGF0aW9uFUFuYWx5dGljYWwgVGVjaG5vbG9neRZBbmQgSW50ZXJpb3IgRGVzaWduZXJzEUFuaW1hbCBQcm9kdWN0aW9uCEFudGlib2R5KUFwc...

Inner source: 

Exception Type: System.Web.httpException

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

Stack Trace: at System.Web.UI.ViewStateException.ThrowError(Exception inner,String persistedState,String errorPagemessage,Boolean macValidationError) at System.Web.UI.HiddenFieldPageStatePersister.Load() at System.Web.UI.Page.LoadPageStateFromPersistenceMedium() at System.Web.UI.Page.LoadAllState() at System.Web.UI.Page.ProcessrequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.Processrequest(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.Processrequest() at System.Web.UI.Page.Processrequest(httpContext context) at ASP.exhibition_details_aspx.Processrequest(httpContext context) in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0f461847\442b0502\App_Web_bfjqxdef.20.cs:line 0 at System.Web.httpApplication.CallHandlerEXECUTIONStep.System.Web.httpApplication.IEXECUTIONStep.Execute() at System.Web.httpApplication.ExecuteStep(IEXECUTIONStep step,Boolean& completedSynchronously)

updatE
我通过从下面的链接压缩ViewState来修复错误
http://www.codeproject.com/Articles/14733/ViewState-Compression

并通过用此替换原始方法来修复Base-64 char数组错误的无效长度.

protected override object LoadPageStateFromPersistenceMedium()
    {
        String viewState = request.Form["__VSTATE"];
        viewState = viewState.replace(" ","+");

        int mod4 = viewState.Length % 4;
        if (mod4 > 0)
        {
            viewState += new String('=',4 - mod4);
        }
        byte[] bytes = Convert.FromBase64String(viewStatE);
        bytes = Compressor.Decompress(bytes);
        LosFormatter formatter = new LosFormatter();
        return formatter.Deserialize(Convert.ToBase64String(bytes));
    }

谢谢大家的帮助:)

解决方法

我很抱歉,但是您的网站没有任何内容,您需要尽快重新启用EventValidations.

通过发送许多测试numbers with your ViewState trying to find your hash key,你看到的是an attempt to hack your site.

@L_772_3@

现在,可能导致此错误的替代方法是破坏ViewState.如果你有太大的ViewState,你可以compress it and split it.你也可以disable all the controls that not needed.你也可以添加log to see from inside what’s is going on right on a base page.

大佬总结

以上是大佬教程为你收集整理的asp.net – System.Web.UI.ViewStateException,无效的viewstate全部内容,希望文章能够帮你解决asp.net – System.Web.UI.ViewStateException,无效的viewstate所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。