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?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage