Страницы

Поиск по вопросам

четверг, 2 мая 2019 г.

Как обработать критическую ошибку при старте службы Windows?

При старте службы windows возникает критическая ошибка требующая останова еще не стартовавшей службы. Ошибку логирую. Но что делать с ней дальше? Как сообщить windows, чтобы она не считала службу запущенной? Можно ли как то информировать пользователя о том что служба не запущена?
Спасибо.


Ответ

Если сервис не смог корректно запуститься - то достаточно просто остановить его из кода, вызовом Stop():
protected override void OnStart(string[] args) { // случилась ошибка? this.Stop(); }
Он перейдет обратно в Stopped. Если при этом попытка запуска была инициирована пользователем - тому покажется стандартное сообщение вида
The Service12 service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.

Комментариев нет:

Отправить комментарий