Проверка Asp.Net Viewstate не удалась - PullRequest
1 голос
/ 05 марта 2019

Вот описание проблемы: у меня есть серверы веб-фермы [с балансировкой нагрузки], и у меня был сайт веб-форм ASP.Net, работающий без каких-либо проблем! и недавно без каких-либо изменений я начал получать эту ошибку:

Event code: 4009 
Event message: Viewstate verification failed. Reason: Viewstate was invalid. 
Event time: 3/5/2019 1:24:31 AM 
Event time (UTC): 3/5/2019 6:24:31 AM 
Event ID: 40c56ea2a8ad4c059357fc4673003bbf 
Event sequence: 359 
Event occurrence: 1 
Event detail code: 50204 

Я искал / читал большинство потоков Stack-overflow и работал над тем, чтобы убедиться, что все на месте, как рекомендовано Microsoft

То, что я пробовал до сих пор, может быть, это может помочь кому-то еще в этом вопросе:

  • Проверены состояния просмотра на обоих серверах, они идентичны и не настроены на автоматическое создание.
  • Попытка сохранения состояния просмотра в сеансе с использованием этого кода:

     protected override object LoadPageStateFromPersistenceMedium()
            {
                return Session["_ViewState"];
            }
    
        protected override void SavePageStateToPersistenceMedium(object viewState)
        {
            Session["_ViewState"] = viewState;
        }
    
  • Я попытался установить maxPageStateFieldLength="128" в файле web.config, и это вызвало эту ошибку:

    Error Message: Invalid viewstate: Missing field: __VIEWSTATE2414.
    Stack Trace: 
    at System.Web.UI.Page.get_RequestViewStateString()
    
  • Расширение свойства Idle Time-out в пуле приложений, связанного с сайтом в IIS, до 24 часов вместо 20 минут

  • Я прочитал эту статью

  • У меня есть ANTI_CSRF на главной странице, и это было до появления проблемы viewState - я дважды проверил, что она вообще не вызывает этой проблемы.

Суть в том, что я все еще получаю недопустимое исключение viewState, но надеюсь, что этот список может помочь другим.

1 Ответ

0 голосов
/ 05 марта 2019

У меня была та же проблема, и я обошел ее, применив то, что предложено в этом вопросе: Здесь

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

...