Не удалось загрузить viewstate - нет динамически загружаемых элементов управления - PullRequest
1 голос
/ 14 апреля 2011

Мы получаем спорадические сообщения о знаменитом "Не удалось загрузить viewstate". Это очень сложно отследить, потому что мы не используем динамически загружаемые элементы управления. И это спорадично.

"Не удалось загрузить viewstate. Элемент управления дерево, в котором находится вид загружен должен соответствовать дереву управления который был использован для сохранения состояния просмотра во время предыдущий запрос. Например, при динамическом добавлении элементов управления элементы управления добавлены во время постбэка "

Какие еще причины могут быть для этого? Мы не регистрировали ни одной утилизации пула приложений.

1 Ответ

0 голосов
/ 14 апреля 2011

Несколько возможностей:

На странице некоторый элемент управления добавляется или удаляется с момента отправки страницы клиенту.

В веб-ферме страница может обрабатываться другим сервером с другим «машинным кодом» для шифрования. Я не помню точный синтаксис, но вы можете установить его так, чтобы они были одинаковыми в web.config.

Я видел это, если сама страница была отредактирована на сервере, а затем была отправлена ​​«старая версия». Но, похоже, ты бы знал, если бы это случилось.

И в зависимости от того, как долго страница находилась «в диком» состоянии, сервер обновляет или даже перезагружает между временем, когда она была отправлена ​​и отправлена ​​назад, может изменить машинный код. Снова установите его в web.config, чтобы предотвратить это.

Да, еще один - некоторые браузеры усекают поля формы, поэтому, если у вас ОЧЕНЬ много состояния просмотра, оно может быть обрезано браузером после постбека. Это бы все испортило.

...