2014-01-05 2 views
2

сталкивается этой ошибка время от времени,Недопустимого ViewState, Недопустимая длина базового 64-массива символов или строки

ExecuteStep в строке: 0 в колонке: 0 Информация о состоянии недействительна для этой страницы и может быть поврежден. (*) Недопустимый ViewState

Внутреннее исключение:

необработанное исключение в Application_Error при нагрузке на линии: 0 в колонке: 0 Недопустимой длина базового 64-массива символов или строки

включена отладка, и файл pdb существует, и, как вы видите, информация об отладке точно не говорит мне, где это произошло.

Я использую ASP.NET, C#, DotNet 4,5

происходит это только при загрузке конкретной страницы.

[FormatException: Invalid length for a Base-64 char array or string.] 
    System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength) +10545359 
    System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength) +130 
    System.Convert.FromBase64String(String s) +41 
    System.Web.UI.ObjectStateFormatter.Deserialize(String inputString, Purpose purpose) +66 
    System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter2.Deserialize(String serializedState, Purpose purpose) +8 
    System.Web.UI.Util.DeserializeWithAssert(IStateFormatter2 formatter, String serializedState, Purpose purpose) +40 
    System.Web.UI.HiddenFieldPageStatePersister.Load() +127 

[ViewStateException: Invalid viewstate. 
    Client IP: ::1 
    Port: 
    Referer: http://localhost:8000/ERP/MemberArea/Permits/Process_New.aspx 
    Path: /ERP/MemberArea/Permits/Process_New.aspx 
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko 
    ViewState: gIPYryxr+zwvGD5IdEv+hEYGPlEzkjxJDqtmnwmHt1TAjkdQ7AnFxm4v+85SO51MA3b+XRxf66nzwA8s8PqtrkQ8HdesiWnhkFp84+2ojOaAPw0+9FEw88EtB+2DH2Am7tv1qxS+WORKR0CducWqvJ65X7Q2iJH0yDwxCrNIOxIH/xgur3macyaqxYhZD99Jr+yrwiHY6q8v/IkdR41gz8UoGkU/J+5RB//I1RQZ8HAXLJhnEG4c5ZfJ0OD5kyyLI23S4JRaOR6vQT95nAdoxqSzsOLdiyYWPfrCyTk1gm8cPNLYzy1wC3JQ5I5446M/Y+2JjH1qde/0fhlKdsng4InIPOSFtWCckTe8aZBNFQvCd3fJdAByQvMVSXoRi9xNO3Ulwyd2nn/z0b5/ST/o+6TysKZ7Yeb/UPdnw5tXH9va0opHDZex289ZTaS7kpFWZaiXNbVbGNwBtRAtjqJXQb4+/C3pO6EWQh+snv929LyM52eDA+3F+6CZuFKSJo4naJL+lSL0A/sBMXC2tHEf3DPEAvbVSFb8nuYcpVJxddJkIw49GJ7BmwHk8gL9sON4ZaQdDmXe7HHGWFNdsfiZ2fB/HfTE/U/a6qmlOcciVAui+qTzxri1iGFhSa4QhkcgstPF5O6CLPYASsnCfmvBrIdQVB02j1yg2hqthtz5Z7gdKwqpr5qBmYI2q1W9OjTPf2LJjJExOmBm8/9DAY7hDt4VBJH9/WRQNz9TQh2ktn2tsZvyGBLvalyhHoGMpH...] 

[HttpException (0x80004005): The state information is invalid for this page and might be corrupted.] 
    System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +198 
    System.Web.UI.HiddenFieldPageStatePersister.Load() +266 
    System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +88 
    System.Web.UI.Page.LoadAllState() +36 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6704 
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +245 
    System.Web.UI.Page.ProcessRequest() +72 
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21 
    System.Web.UI.Page.ProcessRequest(HttpContext context) +58 
    ASP.memberarea_permits_process_new_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\ERP\5da93c6f\27d5fbc5\App_Web_llo4zgw1.4.cs:0 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +341 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69 
+0

PS: Приложения, похоже, работают даже с этими ошибками, но я боюсь, что что-то пропущу. – Amro

+0

Выполняется ли это по действующим запросам, или ваша/чей-то чисто письменная автоматизация заполнения логина/формы иногда приводит к плохим данным? –

+0

Можете ли вы показать код, где его воспроизводиться? – paqogomez

ответ

3

Все кредиты идут на @Aristos для обеспечения его ответ на другой вопрос: Click here

он предоставил три возможности, моя проблема заключалась в том, что страница была перегрузка тройные раз вызывая ViewState, чтобы получить поврежден.

У меня есть настроенный датпикер JQuery, и для вызова события OnvalueChanged я использовал код javascript, я сравнивал два значения даты, которые были одинаковыми, но имели другой формат, что вызвало событие как-то не срабатывать.

Чтобы отладить это, поместите контрольную точку в событие Page_Load, и если она срабатывает более одного раза, начните удалять некоторые скрипты кода/usercontrols, пока не поймаете причину.

Смежные вопросы