Wie kann ich eine Ausnahme abfangen und den Topshelf-Service beenden?
Ich besitze einen Windows-Topshelf-Dienst, bei dem ich einige Überprüfungen durchführen möchte (d. H. Ob eine XML-Datei vorhanden ist). Wenn die Überprüfung fehlschlägt, muss der Windows-Dienst beendet werden.
Also habe ich versucht, die Prüfung in der Methode Start () durchzuführen und dann eine Ausnahme auszulösen:
public void Start()
{
if (!File.Exists(_xmlFile) throw new FileNotFoundException();
// Do some work here if xml file exists.
}
Allerdings bleibt der Windows-Dienst nach der Ausnahme, die ich dann manuell im Task-Manager beenden muss, als Prozess bestehen.
Gibt es eine Möglichkeit, den Dienst nicht auszuführen, wenn bestimmte Bedingungen (d. H. Datei nicht gefunden) zutreffen?