"Error 1053 The Service did not respond" 使用 TopShelf 创建 Windows 服务时出错
"Error 1053 The Service did not respond" error when using TopShelf to create a Windows Service
我有一个使用 TopShelf 库创建的 Windows 服务。尝试启动服务时,出现错误:
Windows could not start the HPS.MyService.Service service on Local Computer
Error 1053: The service did not respond to the start of control request in a timely fashion.
这个错误在启动时立即发生,没有 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();
});
}
我已经验证我可以 运行 直接从控制台 window 此服务,方法是使用服务应该 运行 的相同帐户调用可执行文件。
为什么我会收到此错误 - 如何让我的服务成功启动?
如错误消息所示,此服务安装时的服务名称为“HPS.MyService.Service”,但 C# 代码试图将其显式设置为“HPS.MyService”。名称之间的这种不匹配是错误的来源。您可以在安装时将服务名称更改为“HPS.MyService”,或者将服务名称行更改为
x.SetServiceName("HPS.MyService.Service");
或者:完全删除对 x.SetServiceName 的调用,因为这会限制您使用特定的服务名称,并且无论如何您都可以在安装时控制服务名称。
我有一个使用 TopShelf 库创建的 Windows 服务。尝试启动服务时,出现错误:
Windows could not start the HPS.MyService.Service service on Local Computer
Error 1053: The service did not respond to the start of control request in a timely fashion.
这个错误在启动时立即发生,没有 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();
});
}
我已经验证我可以 运行 直接从控制台 window 此服务,方法是使用服务应该 运行 的相同帐户调用可执行文件。
为什么我会收到此错误 - 如何让我的服务成功启动?
如错误消息所示,此服务安装时的服务名称为“HPS.MyService.Service”,但 C# 代码试图将其显式设置为“HPS.MyService”。名称之间的这种不匹配是错误的来源。您可以在安装时将服务名称更改为“HPS.MyService”,或者将服务名称行更改为
x.SetServiceName("HPS.MyService.Service");
或者:完全删除对 x.SetServiceName 的调用,因为这会限制您使用特定的服务名称,并且无论如何您都可以在安装时控制服务名称。