我有一个使用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();
});
}
我已验证我可以使用应该运行服务的帐户来调用可执行文件,从而直接从控制台窗口运行该服务。
为什么会出现此错误-如何使我的服务成功启动?
答案 0 :(得分:0)
如错误消息所示,此服务的服务名称为“ HPS.MyService.Service”,但C#代码尝试将其显式设置为“ HPS.MyService”。这是错误的根源。您可以在安装时将服务更改为“ HPS.MyService”,或将服务名称行更改为
x.SetServiceName("HPS.MyService.Service");
或者:完全删除对x.SetServiceName的调用,因为这会限制您使用服务的特定名称,并且无论如何安装它都可以控制该服务的名称。