Внезапно появляется сообщение «Невозможно сделать запрос состояния сеанса к серверу состояний сеанса» - PullRequest
5 голосов
/ 12 ноября 2010

Настройка: 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» - перезапуск сервера состояний устранил проблему.

Почему?

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

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

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

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

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

  3. ???Любые другие идеи, кто-нибудь?

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

Ответы [ 3 ]

5 голосов
/ 12 ноября 2010

Это случилось с тех пор?Ответ прост: проблема связана с сервером базы данных, а не с веб-приложением.Есть ли соответствующие ошибки в журнале на сервере БД?

Тот факт, что оба приложения выдавали ошибку, указывает на проблему с общим ресурсом.Некоторое время назад мы преследовали аналогичную проблему в течение хорошей твердой недели и в итоге нашли неисправный гаджет Fibre Channel.(это ниже моего уровня OSI, не уверен насчет деталей).

4 голосов
/ 05 октября 2012
  1. Пуск–> Администрирование -> Услуги

  2. Щелкните правой кнопкой мыши службу состояния ASP.NET и нажмите «Пуск»

Работает нормально. Нам нужно выполнить шаги

3 голосов
/ 22 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...