Topshelf はこれをサポートしなくなりましたが、可能な回避策は、複数のサービスを開始するクラスを実装することです。
例:
// ServiceManager is used to start and stop multiple services
hostConfigurator.Service<ServiceManager>(s =>
{
s.ConstructUsingNinject(); // service1 and service2 injected into ServiceManager
s.WhenStarted(tc => tc.Start());
s.WhenStopped(tc => tc.Stop());
});
ServiceManager クラスは、複数のサービスを開始および停止するだけです。
public class ServiceManager
{
private readonly Service1 service1;
private readonly Service2 service2;
public ServiceManager(Service1 service1, Service2 service2)
{
this.service1= service1;
this.service2= service2;
}
public void Start()
{
service1.Start();
service2.Start();
}
public void Stop()
{
service1.Stop();
service2.Stop();
}
}