Как отловить исключение и остановить сервис Topshelf?
У меня есть служба Windows верхнего уровня, где я хочу выполнить некоторую проверку (то есть, если файл xml существует), и если проверка не удалась, мне нужно остановить службу Windows.
Поэтому я попытался выполнить проверку в методе Start (), а затем вызвал исключение:
public void Start()
{
if (!File.Exists(_xmlFile) throw new FileNotFoundException();
// Do some work here if xml file exists.
}
Тем не менее, служба Windows остается как процесс после исключения, которое я затем должен убить вручную в диспетчере задач.
Есть ли способ не запускать службу, если выполняются определенные условия (т.е. файл не найден)?