Ich habe ein einzelnes Service-Installationsprogramm, das mehrere Dienste installiert. Das ist großartig, aber eine einzelne unbehandelte Ausnahme in einem einzelnen Dienst stoppt alle Dienste, die von diesem Installer installiert wurden.Mehrere Windows-Dienste, ein Installationsprogramm, Entfernen von Abhängigkeiten
Der Code für das Installationsprogramm sieht so etwas wie diese
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1() ,
new Service2() ,
...
};
ServiceBase.Run(ServicesToRun);
Also, wenn der Dienst installiert ist ich mehr separaten Dienste in dem Windows-Service-Management-Fenster sehen kann, und jeder kann gestartet werden, gestoppt, angehalten, wieder unabhängig .
Wenn Sie jedoch eine unbehandelte Ausnahme erleiden, hören alle auf.
Im Idealfall würde nur der Dienst, der das Problem hatte, aufhören und die anderen Dienste würden ihren fröhlichen Weg fortsetzen.
Kann jemand einen Weg vorschlagen, dies zu tun, ohne ein wirklich separates Installer-Projekt für jeden Dienst zu erstellen?
jeder Dienst läuft in einem eigenen Thread ttw. – mjallday