Не удалось проверить MAC-адрес viewstate - ошибка сервера в «/» приложении - PullRequest
2 голосов
/ 18 ноября 2011

Я получил эту ошибку при доступе к своему размещенному веб-приложению (в VS2008 C # ASP.NET 3.5 Framework)

Не удалось проверить MAC-адрес viewstate.Если это приложение размещено на веб-ферме или в кластере, убедитесь, что в конфигурации указан одинаковый ключ validationKey и алгоритм проверки.AutoGenerate нельзя использовать в кластере.

Интересно то, что нет проблем, если мы продолжим после процесса входа в систему.Если вы вошли в систему и ничего не делали в течение 15 или 20 минут, затем нажмите любое меню ... эта ошибка будет сгенерирована.Поэтому я сомневаюсь, что это связано с сессией вне.В моем файле webconfig я записал время сеанса следующим образом.

<sessionState timeout="15" />

Как я могу исправить эту ошибку?

Ответы [ 2 ]

9 голосов
/ 18 ноября 2011

Есть несколько способов решить эту проблему, но некоторые решения лучше, чем другие. Самым быстрым способом обычно является добавление следующего к web.config:

<pages enableEventValidation="false" viewStateEncryptionMode="Never">

Проблема с вышеупомянутым решением состоит в том, что вы жертвуете некоторой безопасностью. Следующее «быстрое исправление» - добавить следующее к web.config, но есть и недостатки:

<pages enableViewStateMac="false">

Если это приложение размещено на веб-ферме или иным образом распределено по нескольким веб-серверам, вам, вероятно, следует избегать этой опции.

На мой взгляд, лучшее общее решение предлагается здесь .

0 голосов
/ 11 апреля 2015

Я полагаю, что ваша проблема в поле «Пул приложений» «Idle timeout». Вы должны попросить своего провайдера изменить его на что-то большее ... скажем, 20 минут

Взгляните здесь .

...