Asp.net Проверка MAC-адреса состояния представления не удалась - PullRequest
29 голосов
/ 30 апреля 2011

В определенное время я получаю следующую ошибку на веб-сайте asp.net.

 Sys.WebForms.PageRequestManagerServerErrorException: 
 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.

Когда происходит обновление страницы, нет проблем. Как можно решить эту проблему?

Ответы [ 13 ]

0 голосов
/ 20 февраля 2016

Проверка MAC-адреса состояния представления не удалась. Если это приложение размещено на веб-ферме или в кластере, убедитесь, что в конфигурации <machineKey> указан один и тот же ключ validationKey и алгоритм проверки. Автогенерация не может использоваться в кластере.

Ответ:

<machineKey  decryptionKey="2CC8E5C3B1812451A707FBAAAEAC9052E05AE1B858993660" validation="HMACSHA256" decryption="AES" validationKey="CB8860CE588A62A2CF9B0B2F48D2C8C31A6A40F0517268CEBCA431A3177B08FC53D818B82DEDCF015A71A0C4B817EA8FDCA2B3BDD091D89F2EDDFB3C06C0CB32" />
0 голосов
/ 12 января 2016

ЧТО РАБОТАЕТ МНЕ

  1. Поиск в сети "Генератора машинных ключей"

  2. Перейдите на один из найденных сайтов и сгенерируйте Ключ машины, который будет выглядеть следующим образом (цифры больше)
    ... MachineKey
    validationKey = "0EF6C03C11FC ... 63EAE6A00F0B6B35DD4B" decryptionKey = "2F5E2FD80991C629 ... 3ACA674CD3B5F068" validation = "SHA1" decryption = "AES" />

  3. Скопируйте и вставьте в раздел <system.web> в файле web.config.

Если вы хотите следовать по пути, который я сделал ...


https://support.microsoft.com/en-us/kb/2915218#AppendixA
Устранение ошибок кода проверки подлинности сообщения состояния (MAC) Разрешение 3b: использовать явное <machineKey>
Добавив явный элемент <machineKey> в файл приложения Web.config, разработчик говорит ASP.NET не использовать автоматически сгенерированный криптографический ключ. См. Приложение A для получения инструкций о том, как создать элемент <machineKey>.


http://blogs.msdn.com/b/amb/archive/2012/07/31/easiest-way-to-generate-machinekey.aspx
Самый простой способ создать MachineKey - Ахмет Митхат Бостанчи - 31 июля 2012 Вы можете найти в Bing «Генератор машинных ключей» и воспользоваться онлайн-сервисом. Честно говоря ...


http://www.blackbeltcoder.com/Resources/MachineKey.aspx

0 голосов
/ 08 сентября 2012

Это сообщение об ошибке обычно отображается после публикации веб-сайта на сервере.

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

Настройте свой веб-сайт для использования правильной версии .NET Framework (т.е. v4.0) в разделе «Общие» пула приложений, относящегося к вашему веб-сайту.

В разделе «Модель процесса» установите значение Identity для Network Service.

Закройте диалоговое окно, щелкните правой кнопкой мыши свой веб-сайт и выберите «Дополнительные настройки» в меню «Управление веб-сайтом» в меню содержимого. В диалоговом окне в разделе «Общие» убедитесь, что выбрано правильное имя пула приложений для использования.

Ваш сайт теперь должен работать без проблем.

Надеюсь, это поможет вам преодолеть эту ошибку.

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