Windows サービスに問題があります。展開service_Start
を試みたときに失敗します (タイムアウト)。2回目の試行では、ほとんど成功します。タイムアウトを増やしてみましたが、役に立ちませんでした。サービスには依存関係がありません。
c#
+コンテナを利用したTopshelf (latest)
アプリです。Castle.Windsor (2.5.3)
実装するメイン クラスIMyService
は、ライフスタイル タイプに登録されますSingleton
。その他の依存関係は として登録されtransient
ます。
このサービスは、Rabbit バスからメッセージを読み取り、Couchbase に保存しています。
構成コードは次のようになります。
HostFactory.Run(x =>
{
x.Service<IMyService>(s =>
{
s.ConstructUsing(name => WindsorContainerContext.Container.Resolve<IMyService>());
s.WhenStarted(s => s.Start());
s.WhenStopped(s =>
{
s.Stop();
WindsorContainerContext.Container.Release(s);
WindsorContainerContext.Container.Dispose();
});
});
x.RunAsLocalSystem();
x.SetDescription(serviceDescription);
x.SetDisplayName(serviceDescription);
x.SetServiceName(serviceName);
});
何かが適切にリリースされず、起動が失敗する可能性があると思いましたが、いくつかの変更を試した後、他に何を試すべきか本当にわかりません。
これだけでは解決できないことは承知しています。どのような情報が役立つか教えてください。ここで何が起こっているのかを知りたいので、デバッグに関して正しい方向に向けていただければ幸いです。