C# 为什么这项服务是;“未及时响应启动或控制请求”;?

C# 为什么这项服务是;“未及时响应启动或控制请求”;?,c#,windows-services,C#,Windows Services,背景:一位客户给了我一个第三方开发的Windows服务,他们希望我为他们运行该服务。然而,当我启动服务时,它超时,我得到1053“服务没有响应…及时时尚”错误 我已经反映了程序集,以便在其start方法中获取它正在执行的代码,但粗略地看,它似乎应该返回 实际问题:有人能解释一下这项服务导致1053错误的原因吗 (检查日志文件已确认计时器已初始化,并在服务终止前多次触发。) 服务构造函数必须“及时”返回,服务才能成功启动。这意味着您不能在构造函数中启动一个可能代价高昂的操作,但必须将其委托给另一个

背景:一位客户给了我一个第三方开发的Windows服务,他们希望我为他们运行该服务。然而,当我启动服务时,它超时,我得到1053“服务没有响应…及时时尚”错误

我已经反映了程序集,以便在其start方法中获取它正在执行的代码,但粗略地看,它似乎应该返回

实际问题:有人能解释一下这项服务导致1053错误的原因吗

(检查日志文件已确认计时器已初始化,并在服务终止前多次触发。)


服务构造函数必须“及时”返回,服务才能成功启动。这意味着您不能在构造函数中启动一个可能代价高昂的操作,但必须将其委托给另一个线程

通常,在开发服务时,您可能会发现连接到本地数据库是很好的,但是一旦您部署了它,并且必须通过internet进行连接,您就会发现它失败了


在没有看到构造函数中的确切代码的情况下,我无法确定,但是如果将其移动到线程中,服务应该会成功启动。显然,这意味着您需要有某种方法来检查服务是否已正确启动,并从线程向主程序报告错误。

这是因为您已经定义了服务日志,并在代码中对其进行了更改

我最近遇到了这种情况,解决方案是在以下位置删除服务日志注册表:

HKLM/System/ControlSet001/services/eventlog/<your service name>
HKLM/System/ControlSet001/services/eventlog/

如果对此不确定,请先备份注册表。

初始化过程中可能出现错误,是否记录了其他错误?您可能需要扩展日志记录以更好地调试。请检查相关主题并在服务的“开始”功能中发布代码
HKLM/System/ControlSet001/services/eventlog/<your service name>