使用TopShelf创建Windows服务时出现“错误1053服务未响应”错误

时间:2019-12-03 19:31:40

标签: c# .net windows-services topshelf

我有一个使用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();
    });
}

我已验证我可以使用应该运行服务的帐户来调用可执行文件,从而直接从控制台窗口运行该服务。

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

1 个答案:

答案 0 :(得分:0)

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

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

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