Como capturar uma exceção e interromper o serviço Topshelf?
Eu tenho um serviço do Windows na prateleira superior onde desejo fazer uma verificação (ou seja, se existe um arquivo xml) e se a verificação falhar, preciso que o serviço do Windows pare.
Então, tentei fazer a verificação no método Start () e, em seguida, criei uma exceção:
public void Start()
{
if (!File.Exists(_xmlFile) throw new FileNotFoundException();
// Do some work here if xml file exists.
}
No entanto, o serviço do Windows permanece como um processo após a exceção, que eu tenho que eliminar manualmente no gerenciador de tarefas.
Existe uma maneira de não executar o serviço se determinadas condições (ou seja, arquivo não encontrado) forem mantidas?