シェルフフォルダが変更されてもTopshelfがこれに気付いても、サービスが開始されない場合、シェルフTopshelfサービスに問題があります。エラーメッセージは表示されません(実際にはログメッセージは表示されません)。問題の検索をどこから開始するのか本当にわかりません。Topshelfサービスが開始されないのはなぜですか?
これは私が持っているものです。
私はTopshelfフォルダ
C:\Topshelf.Host\Services\MyService\
の変化に気付いログで確認しました。私は、Topshelf shelfフォルダのファイル名が
MyAssembly.dll
とMyAssembly.config
であることを確認しました。MyAssembly
とMyService
は同じ場合でも一致します。私は私の設定ファイルに次のようにしている。
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> <section name="ShelfConfiguration" type="Topshelf.Shelving.ShelfConfiguration, TopShelf" /> </configSections> <ShelfConfiguration Bootstrapper="MyNamespace.MyBootstrapper, MyAssembly" /> ...
私は
MyAssembly.dll
で次のクラスがあります。namespace MyNamespace { public class MyBootstrapper : Bootstrapper<MyService> { public void InitializeHostedService(IServiceConfigurator<MyService> cfg) { cfg.HowToBuildService(name => new MyService()); cfg.WhenStarted(s => s.StartService()); cfg.WhenStopped(s => s.StopService()); } } public class MyService { public void StartService() { ... } public void StopService() { ... } } }
メーリングリスト、http://groups.google.com/group/topshelf-discussに参加するか、バグ(https://github.com/Topshelf/Topshelf/issues)を投稿してください。 – Travis