我的Windows服务无法实例化

时间:2011-08-23 11:07:20

标签: c# windows-services

我正在维护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);
}

2 个答案:

答案 0 :(得分:0)

前几天我有这个错误。我不知道它是否会为你解决,但这就是我如何解决它:

安装后,右键单击并转到“属性”。转到“登录”选项卡,确保启用“允许服务与桌面交互”。 我不确定为什么Windows 7似乎需要这个。

答案 1 :(得分:0)

转发上述回复:

是的,我在事件查看器中收到了信息。由于我的配置文件不正确,它基本上是一个未处理的异常。 Windows服务应该在实例化时解析XML文件,但是有一个“>”签名丢失,这意味着它甚至不是有效的XML文件。因此,必须在Windows服务的构造函数中进行良好的错误处理。谢谢大家的帮助。