我的Windows服务无法实例化

本文关键字:实例化 服务 Windows 我的 | 更新日期: 2023-09-27 18:06:37

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

我的Windows服务无法实例化

就在前几天我有这个错误。我不知道它是否能为你解决这个问题,但我是这样解决的:

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

转发上面的回复:

是的,我在事件查看器中得到了信息。这基本上是一个未处理的异常,因为我有一个不正确的配置文件。windows服务应该在实例化时解析XML文件,但是缺少一个">"符号,这意味着它甚至不是一个有效的XML文件。因此,教训必须是在windows服务的构造函数中有良好的错误处理。谢谢大家的帮助。