У меня есть несколько веб-сайтов, которые получают примерно 3000 просмотров страниц в день, и я получаю эту ошибку состояния примерно 5-10 раз в день, полученную в global.asax:
System.Web.HttpException: невозможно проверить данные. в System.Web.Configuration.MachineKeySection.GetDecodedData (Bute [] buf, модификатор Byte [], запуск Int32, длина Int32, Int32 & dataLength) в System.Web.UI.ObjectStateFormatter.Deserialize (String inputString)
Я пробовал:
- жестко закодировать машинный ключ в web.config для всех сайтов
- Жесткое кодирование машинного ключа в machine.config
- добавление элементов в раздел страниц web.config для всех сайтов.
Ключ машины выглядит так:
<machineKey validationKey="key goes here" decryptionKey="key goes here" validation="SHA1" decryption="AES" />
Раздел страниц выглядит так:
<pages renderAllHiddenFieldsAtTopOfForm="true" validateRequest="false" enableEventValidation="false" viewStateEncryptionMode="Never">
Ошибки, как я могу судить, не связаны с переработкой пула приложений, поскольку пул настроен на повторную обработку при каждых 100 000 запросов. Я не управляю веб-фермой или веб-садом. Довольно часто я получаю две или три из этих ошибок подряд, как если бы пользователь получал ошибку, возвращался и затем снова щелкал ссылку.
У кого-нибудь есть идеи?