Hi Leute,
ich habe einen selbstgeschriebenen Dienst den ich beenden möchte.
D. h. beim Starten des Dienstes werden bestimmte Prüfungen vorgenommen. Schlägt eine dieser Prüfungen fehl, soll sich der Dienst in der OnStart-Methode direkt wieder beenden bzw. den Startvorgang abbrechen.
Wenn ich das wie folgt versuche
Environment.Exit(0);
bekomme ich im Ereignisprotokoll immer noch den Eintrag:
Fehlermeldung:
Der Dienst kann nicht gestartet werden. Der Dienstprozess konnte keine Verbindung zum Dienstcontroller herstellen
Wie lässt sich der Dienst beim Starten sauber beenden bzw. der Start abbrechen? Eine Abort-Methode oder ähnliches konnte ich nicht entdecken.
Im Allgemeinen will man ja, dass es eine entsprechende Meldung gibt, die Klarheit gibt **warum **der Dienst nicht starten konnte (hier reicht es sogar einfach eine Exception zu werfen).
Alternativ könntest du
this.Stop()
ausführen
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Da hab' ich wohl den Wald vor lauter Bäumen nicht gesehen. Danke 😉
PS: Mein Dienst schreibt ne entsprechende Meldung für den Admin ins Ereignisprotokoll 8)