2010-01-26 4 views
2

Зашел на этот вопрос вчера на одном из наших сайтов. Прежде всего, сайт размещен в среде веб-фермы, и пока я добавил статический machineKey в web.config для обоих узлов (2 узла). Это решило проблему, и сейчас все работает нормально.Не удалось выполнить проверку MAC-адреса viewstate

Это вызвало следующий вопрос: Почему все наши другие сайты, работающие в этой среде, не требуют этого (machineKey в файле web.config).

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

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

Я пропустил очевидное здесь или есть что-нибудь еще, что я могу рассмотреть?

Заранее спасибо

ответ

1

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

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

Другая возможная причина заключается в том, что либо ваша страница слишком долго загружается, а пользователи отправляют обратно до того, как страница полностью завершила загрузку. Мне удалось получить один из моих сайтов, делающих это с помощью пары звонки с удаленных объявлений, которые находятся на полпути через загрузку страницы, или пользователи слишком долго ждут между рендерингом страницы и обратной передачей, а сеанс на loadbalancer отключается, поэтому он считает, что это новый запрос.

+1

+1 для идеи Sticky Sessions. У меня есть сетевые ребята, которые проверяют, как настроение сеанса настроено для этого конкретного сайта. Я очень сомневаюсь, что страница загружается слишком медленно или не загружается полностью до того, как произойдет обратная связь - ее сайт с одной страницей «регистрация интереса» с несколькими полями текстовых полей и без тяжелой графики (с использованием спрайтов CSS для уменьшения HTTP-запросов и общий размер изображения) –

+0

Сессия Persistence или «Sticky Sessions» была установлена ​​на 0 секунд на балансировщике нагрузки, поэтому запросы были перемещены между серверами на основе нагрузки на трафик. Объясняет, почему наши другие сайты отлично работают без статического машинного ключа, определенного в web.config, потому что они привязаны к одному узлу - спасибо за совет. –

+0

Без проблем, я сам сделал подобные ошибки;) –

0

Если вы работаете с веб-фермы среде, ключевые значения машины, если он указан в web.config должны быть синхронизированы. Кроме того, вы захотите убедиться, что значения машинного ключа в файле machine.config также синхронизированы между ними.

+0

@Mitchel Я понимаю логику этого, но я не понимаю, почему другие сайты работают нормально, не имея значения машинного ключа, указанного в файле web.config, и если файл machine.config синхронизируется между узлами и является причиной того, почему работают другие сайты, почему у нас есть сайт, который указан на web.config. –

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