Ошибка «Достигнуто время ожидания подключения службы» после перезагрузкиC#

Место общения программистов C#
Ответить
Anonymous
 Ошибка «Достигнуто время ожидания подключения службы» после перезагрузки

Сообщение Anonymous »

У меня есть специально написанная служба Windows, которую я запускаю на нескольких виртуальных машинах Hyper-V. Виртуальные машины перезагружаются пару раз в час в рамках запуска некоторых автоматических тестов. Служба настроена на автоматический запуск, и почти всегда она запускается нормально.

Однако, возможно, в 5% случаев, без какой-либо закономерности, которую я могу различить. , служба не запускается. В случае сбоя я получаю сообщение об ошибке в средстве просмотра событий:


Достигнуто время ожидания (30000 миллисекунд) во время ожидания службы имени моей службы. Для подключения. < /p>
< /blockquote>

Когда это произойдет, я могу запустить службу вручную или снова перезагрузить, и служба начнется хорошо. < / p>

То, что я Не могу понять, заключается в том, что в моем коде не происходит 30-секундного тайм-аута. Самая первая строка метода OnStart() моего класса обслуживания записывает «Начало...» в журнал log4net. Когда служба не запускается, я вообще ничего не записываю, что указывает на то, что либо log4net не может войти по какой-либо причине, либо истекает тайм-аут до вызова моей OnStart().

Служба работает на различных ОС, от XP до Win7 и 2008R2, и я знаю, что установка отложенного запуска службы может решить эту проблему для Vista и более поздних версий, но это похоже на hack.

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

Подробнее здесь: https://stackoverflow.com/questions/198 ... -after-reb
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»