gpt4 book ai didi

topshelf - 为什么我的 Topshelf 服务没有启动?

转载 作者:行者123 更新时间:2023-12-02 00:31:36 28 4
gpt4 key购买 nike

我对搁置的 Topshelf 有疑问服务没有按预期启动:即使 shelf 文件夹发生变化,并且 Topshelf 注意到了这一点,服务也没有启动。没有显示错误消息(实际上根本没有日志消息),我真的不知道从哪里开始寻找问题。

这是我的:

  • 我已在日志中验证 Topshelf 注意到文件夹 C:\Topshelf.Host\Services\MyService\ 发生了变化。

  • 我已验证 Topshelf 架子文件夹中的文件名为 MyAssembly.dllMyAssembly.configMyAssemblyMyService 相同,大小写也匹配。

  • 我的配置文件中有以下内容:

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

最佳答案

事实证明,我在问题中包含的所有内容都确实正确设置,但我在配置文件的其他地方有拼写错误,这在加载我的服务时给 Topshelf 带来了麻烦。当我更正这些时,一切都按预期进行。

我正在结束这个问题,因为问题不在这里。

关于topshelf - 为什么我的 Topshelf 服务没有启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6490715/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com