Указание зависимостей службы Windows в app.config? - PullRequest
0 голосов
/ 07 июня 2011

Я создаю службу Windows, которая будет зависеть от службы SQL Server, запущенной до моей.Я знаю, что вы можете добавить такую ​​зависимость из кода, графического интерфейса Windows или командной строки через sc, но возможно ли указать такие зависимости в app.config службы?Есть ли другие способы настройки сервисных зависимостей?

1 Ответ

1 голос
/ 07 июня 2011

Что касается app.config, вы ничего не можете добавить туда, что задержит запуск вашей службы до запуска другой службы.Это необходимо сделать на уровне операционной системы (sc или реестра ), а не на уровне обслуживания (app.config).

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

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

В качестве альтернативы, при установке службыдобавьте зависимость от SQL Server в этот момент , если , вы можете ожидать, что SQL Server будет там.

...