Ein WCF-Dienst wird in einem Windows-Dienst (WS) gehostet.So beenden Sie den eigenen Windows-Dienst
Wenn die Datenbank (SqlServer 2005) ausfällt, wird aufgrund der Aktionen in der Datenbank eine SqlException ausgelöst.
Was ich erreichen möchte, ist, dass die WS - wo der WCF-Dienst gehostet wird - gehen sollte, wenn die DB auch ausgefallen ist.
Der WS wird übrigens manuell neu gestartet.
Meine Idee ist, nichts dagegen zu tun. Die unbehandelte Ausnahme stoppt den WS.
Ist dies der richtige Weg?
Das erste Szenario, das Sie zeigen, zwingt mich, die SqlException zu fangen und dann den Windows-Dienst selbst zu stoppen. Das zweite Szenario ist für mich wenig verwirrend: Wenn ich meine WS so konfiguriere, dass sie bei einem Fehler neu gestartet wird, dann wird die WSL durch das Überspringen der SqlException neu gestartet, so dass dies die Lösung wäre. –
1. Szenario: Ich dachte, das ist das, wonach du gefragt hast - nein? 2. Szenario: Dies ist eine Funktion des Standard-Windows-Dienst-Controllers - Sie können festlegen, was beim ersten, zweiten und dritten Fehler eines Dienstes zu tun ist - Neustart ist nur eine der Optionen. –