我正在维护Windows服务,这有一个非常不幸的错误。我无法再调试代码,因为服务只是拒绝启动。这是错误:
Windows无法在本地计算机上启动MyService服务。
错误1053:服务未响应启动或控制 要求及时。
我在main方法中插入了一些日志到文件行,它永远不会超过我的Windows服务的实例化。它在行
之前停止ServiceBase.Run(ServicesToRun);
因此永远不会执行Run方法。我猜测是MyService的实例化失败了。但那怎么可能呢?
static void Main()
{
//this line is reached
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService() //halts here
};
//this line is never executed
ServiceBase.Run(ServicesToRun);
}
答案 0 :(得分:0)
前几天我有这个错误。我不知道它是否会为你解决,但这就是我如何解决它:
安装后,右键单击并转到“属性”。转到“登录”选项卡,确保启用“允许服务与桌面交互”。 我不确定为什么Windows 7似乎需要这个。
答案 1 :(得分:0)
转发上述回复:
是的,我在事件查看器中收到了信息。由于我的配置文件不正确,它基本上是一个未处理的异常。 Windows服务应该在实例化时解析XML文件,但是有一个“>”签名丢失,这意味着它甚至不是有效的XML文件。因此,必须在Windows服务的构造函数中进行良好的错误处理。谢谢大家的帮助。