Настройка: 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).
Я «попытался включить, если auf, а затем onnegen» - перезапуск сервера состояний устранил проблему.
Почему?
Я действительно хочу знать, что произошло и почему я могу предотвратить его повторение.
Пока у меня есть только две теории:
Обновление Windows до .net framework 4 было применено примерно в это время на государственном сервере .Так что, может быть, обновление сделало что-то со службой состояний asp.net?Средство просмотра событий Windows показало, что .net 4 уже зарегистрировал предупреждение:
Обновления метабазы IIS были прерваны, поскольку IIS либо не установлен, либо отключен на этом компьютере.Чтобы настроить ASP.NET для работы в IIS, установите или включите IIS и перерегистрируйте ASP.NET, используя aspnet_regiis.exe /i.
Некоторая временная проблема сетимежду прод-сайтами и государственным сервером?Они сидят рядом друг с другом в одной физической стойке.
???Любые другие идеи, кто-нибудь?
Кто-нибудь видел это раньше или был в состоянии меня поправить?