複数のサービスをインストールする単一のサービスインストーラプロジェクトがあります。これは素晴らしいことですが、単一のサービスで単一の処理されない例外があれば、このインストーラによってインストールされたすべてのサービスが停止します。複数のWindowsサービス、1つのインストーラー、依存関係の削除
インストーラ用のコードは、サービスがインストールされると、だから私は、Windowsのサービス管理画面にいくつかの別々のサービスを見ることができますし、それぞれを開始することができ、この
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1() ,
new Service2() ,
...
};
ServiceBase.Run(ServicesToRun);
ようになり、停止、一時停止、独立して再開。
ただし、未処理の例外が発生した場合は、それらはすべて停止します。
問題が発生したサービスのみが停止し、他のサービスはメリットが継続することが理想的です。
サービスごとに本当に別々のインストーラプロジェクトを作成せずに誰でもこれを行う方法を提案できますか?
各サービスは独自のスレッドbtwで実行されます。 – mjallday