2011-06-27 24 views
2

シェルフフォルダが変更されてもTopshelfがこれに気付いても、サービスが開始されない場合、シェルフTopshelfサービスに問題があります。エラーメッセージは表示されません(実際にはログメッセージは表示されません)。問題の検索をどこから開始するのか本当にわかりません。Topshelfサービスが開始されないのはなぜですか?

これは私が持っているものです。

  • 私はTopshelfフォルダC:\Topshelf.Host\Services\MyService\の変化に気付いログで確認しました。

  • 私は、Topshelf shelfフォルダのファイル名がMyAssembly.dllMyAssembly.configであることを確認しました。 MyAssemblyMyServiceは同じ場合でも一致します。

  • 私は私の設定ファイルに次のようにしている。

    <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() 
         { 
          ... 
         } 
        } 
    } 
    
+0

メーリングリスト、http://groups.google.com/group/topshelf-discussに参加するか、バグ(https://github.com/Topshelf/Topshelf/issues)を投稿してください。 – Travis

+0

タグとタグが不足していることを誤って指摘してくれてありがとう! – Pakman

答えて

2

をそれは私が疑問に含まれ、すべてを判明されました実際には正しくセットアップされていましたが、サービスをロードするときにTopshelfの問題を引き起こした設定ファイルの他の場所にタイプミスがありました。私がそれらを修正すると、すべてが期待通りに機能しました。

問題は本当にここにないので、質問は終了します。

関連する問題