Как отловить исключение и остановить сервис Topshelf?

У меня есть служба Windows верхнего уровня, где я хочу выполнить некоторую проверку (то есть, если файл xml существует), и если проверка не удалась, мне нужно остановить службу Windows.

Поэтому я попытался выполнить проверку в методе Start (), а затем вызвал исключение:

public void Start()
{
    if (!File.Exists(_xmlFile) throw new FileNotFoundException();
    // Do some work here if xml file exists.
}

Тем не менее, служба Windows остается как процесс после исключения, которое я затем должен убить вручную в диспетчере задач.

Есть ли способ не запускать службу, если выполняются определенные условия (т.е. файл не найден)?

Ответы на вопрос(6)

Ваш ответ на вопрос