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