Внезапно появляется сообщение «Невозможно отправить запрос состояния сеанса на сервер состояния сеанса»

Настройка: 2 веб-сервера и отдельный сервер состояний

У меня есть два производственных веб-сервера в конфигурации с балансировкой нагрузки . Веб-приложение ASP.NET, которое они размещают, разделяет состояние (например, веб-ферму), используя эту строку в своих web.configs:

<sessionState mode="StateServer" stateConnectionString="tcpip=9.9.9.9:42424" cookieless="false" timeout="60"/>

9.9.9.9 - это IP-адрес машины, на которой работает служба состояния сеанса asp.net (хорошо, это не 9.9.9.9 реально, поменял в защиту невиновных). Это третья машина (собственно, сервер базы данных.

Он работал нормально, пока ...

Ошибка: сайт не работает!

Внезапно сайт отключился, просто отображалась общая страница ошибки asp.net («отключите пользовательские ошибки, чтобы увидеть эту ошибку» или что-то еще).

В журнале приложения записано фактическое сообщение об ошибке:

Необработанное произошло исключение. Невозможно отправить запрос состояния сеанса серверу состояния сеанса. Убедитесь, что служба состояния ASP.NET запущена и что порты клиента и сервера совпадают. Если сервер находится на удаленном компьютере, убедитесь, что он принимает удаленные запросы, проверив значение HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection. Если сервер находится на локальном компьютере, и если ранее упомянутое значение реестра не существует или установлено в 0, тогда в строке подключения к серверу состояния необходимо использовать либо «localhost», либо «127.0.0.1» в качестве имени сервера.

Похоже, что веб-приложение не смогло связаться с сервером состояний (9.9.9.9).

Я «попытался включить if auf, а затем onnegen» - перезапуск сервера состояний устранил проблему.

Почему?

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

Пока что у меня есть только две теории:

  1. Примерно в то время было применено обновление Windows для .NET Framework 4 на государственном сервере . Так, может быть, обновление что-то сделало с государственной службой asp.net? Средство просмотра событий Windows показало, что примерно в то время .net 4 зарегистрировал предупреждение:

    Обновления метабазы ​​IIS были прерваны, потому что IIS либо не установлен, либо отключен на этом компьютере. Чтобы настроить ASP.NET для работы в IIS, установите или включите IIS и повторно зарегистрируйте ASP.NET с помощью aspnet_regiis.exe / i.

  2. Какая-то временная проблема в сети между веб-сайтами prod и государственным сервером? Хотя они действительно сидят рядом друг с другом в одной физической стойке.

  3. ??? Есть какие-нибудь другие идеи?

Кто-нибудь видел это раньше или мог исправить меня?

5
задан MGOwen 12 November 2010 в 02:12
поделиться