0

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);

            });     

何かが適切にリリースされず、起動が失敗する可能性があると思いましたが、いくつかの変更を試した後、他に何を試すべきか本当にわかりません。

これだけでは解決できないことは承知しています。どのような情報が役立つか教えてください。ここで何が起こっているのかを知りたいので、デバッグに関して正しい方向に向けていただければ幸いです。

4

1 に答える 1