サービスベースに2つのサービスがあり、onstartメソッドは無限ループです(AsyncReadContextの方法を使用して行われます)が、サービスを開始すると、リストの最初にあり、2番目のサービスのonstartに来るサービスが開始されます。いくつかのコード:
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1(),
new Service 2(),
};
ServiceBase.Run(ServicesToRun);
開始時:
protected override void OnStart(string[] args)
{
//read MsMQ async way
}
サービス 1 はキューを読み取っていますが、サービス 2 はキューを読み取っていません。サービス2をリストの最初に変更すると、サービス2がキューを読み取っているときと同じコードになります。ここでは、2 つのサービスのキューが異なります。