Viewstate исключения - PullRequest
       3

Viewstate исключения

0 голосов
/ 08 декабря 2010

Каждые пару дней я получаю следующие исключения:

System.Web.HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. ---> System.Web.UI.ViewStateException: Invalid viewstate. 

Дело в том, что у меня установлен ключ компьютера, и я также использую только один сервер (т.е. без кластера). Так почему же происходит это исключение? Единственное, о чем я могу думать, это то, что я продолжаю перезагружать сервер IIS, но я не могу понять, почему это проблема. Ребята, вы видите это исключение на регулярной основе?

Для справки, в моем system.web существует следующее:

<machineKey validationKey="Blah1" decryptionKey="Blah2" validation="SHA1" decryption="AES" />

1 Ответ

1 голос
/ 23 ноября 2011

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

Единственные решения для этого:

  1. полностью отключить viewstate

  2. использовать скриптчтобы разрешить отправку только после полной загрузки страницы

  3. , убедитесь, что ViewState находится как можно ближе к верхней части страницы (что, на мой взгляд, плохо для SEO, если ваш сайт общедоступен).

Вы можете попытаться доказать, что это так, и выяснить, существует ли какая-либо корреляция между загружаемыми страницами скорости и временем исключения.Использование такого инструмента, как LogParser, может помочь в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...