【问题标题】:"Error 1053 The Service did not respond" error when using TopShelf to create a Windows Service使用 TopShelf 创建 Windows 服务时出现“错误 1053 服务未响应”错误
【发布时间】:2019-12-03 19:31:40
【问题描述】:

我有一个使用 TopShelf 库创建的 Windows 服务。尝试启动服务时,它给了我一个错误:

Windows 无法在本地计算机上启动 HPS.MyService.Service 服务

错误 1053:服务没有及时响应开始控制请求。

此错误在启动时立即发生,没有 30 秒延迟。

我的服务的 TopShelf 代码如下所示:

public static void Main()
{
    HostFactory.Run(x =>
    {
        x.Service<TopshelfHangfireService>();
        x.EnableServiceRecovery(r => r.RestartService(TimeSpan.FromSeconds(30)));
        x.SetServiceName("HPS.MyService");
        x.StartAutomaticallyDelayed();
    });
}

我已经验证我可以直接从控制台窗口运行此服务,方法是使用服务应该运行的相同帐户调用可执行文件。

为什么会出现此错误 - 如何让我的服务成功启动?

【问题讨论】:

    标签: c# .net windows-services topshelf


    【解决方案1】:

    如错误消息所示,此服务使用“HPS.MyService.Service”的服务名称安装,但 C# 代码尝试将其显式设置为“HPS.MyService”。名称之间的这种不匹配是错误的根源。您可以在安装时将服务更改为“HPS.MyService”,或将服务名称行更改为

    x.SetServiceName("HPS.MyService.Service");
    

    或者:完全删除对 x.SetServiceName 的调用,因为这会限制您为服务使用特定名称,并且无论如何您都可以在安装时控制服务名称。

    【讨论】:

    • 非常感谢您的回答。让我头疼不已。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2023-01-13
    • 1970-01-01
    • 2014-08-13
    相关资源
    最近更新 更多