2013-06-14 3 views
1

Я видел эту проблему во многих сообщениях. На моем сайте asp.net я отслеживаю любую ошибку, которая возникает с использованием журнала, который заполняется с помощью метода Application_Error в файле Global.asax.ASP.NET Проверка MAC-адреса viewstate не удалась - IIS переработан

ASP.NET Проверка ошибки MAC-адреса viewstate - ошибка, которая встречается довольно часто. Я предполагаю, что это происходит после того, как IIS переработает мое приложение.

Я видел много сообщений о том, что добавление статического ключа машины в web.config решит это.

Мой вопрос: Что добавляет статический ключ машины?

ответ

3

Статический ключ машины является исправлением только для сценария Web Farm. Чтобы избежать этой ошибки, ключ в браузере должен соответствовать ключу на сервере.

Когда клиент посещает сайт в веб-ферме, они могут запускаться на сервере A и иметь этот ключ, хранящийся на стороне клиента, но при обратном обращении следует нажать на сервер B. В этом случае сервер B будет блокироваться, если только оба сервер A и сервер B имеют один и тот же ключ.

В вашем случае с использованием утилизации пула приложений это не является потенциальным решением.

Как и вы, наша команда имеет центральную систему регистрации ошибок, и мы используем глобальный обработчик ошибок в global.asax. У вас есть веб-интерфейс, который мы можем использовать для просмотра ошибок.

У нас есть аналогичная проблема - мы также получаем эти ошибки и другие, которые на самом деле не стоит отмечать, но они все равно регистрируются.

Мы просто регистрируем наши ошибки по-разному для некоторых известных ошибок, которые мы хотим игнорировать. (Спорадические тайм-ауты, которые не приводят к общему сбою и т. Д.). У нас есть уровень серьезности в нашей глобальной системе регистрации ошибок, и они регистрируются как SeverityLevel.KnownIssue или SeverityLevel.Informational. Наш веб-интерфейс просто отфильтровывает их, поэтому мы не видим их на наших основных экранах обзоров, но если нам нужно копаться и получать статистику по этим данным, мы можем предоставить данные.

+0

Я не знал, что добавление статического ключа машины устранит эту проблему только в сценарии веб-фермы. Это не мое дело. Есть ли способ исправить эту ошибку в сценарии без веб-фермы (без отключения ViewstateMac)? благодаря – Gonzalo

Смежные вопросы