2011-08-23 213 views
0

我正在维护一个Windows服务,它有一个相当不幸的错误。我不能再调试代码,因为服务只是拒绝启动。这是错误:我的Windows服务无法实例化

Windows could not start the MyService service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.

我插入一些日志到文件的线路中的主要方法,它从来没有谈到过了我的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

您可以将代码发布在MyService构造函数中吗? – w69rdy

+0

“MyService”的构造函数是什么样的? –

+1

您是否在事件查看器中有更多信息?还要确保您正在运行该服务的帐户具有足够的权限。 –

回答

0

从上面转贴回复:

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

0

我在前几天发生了这个错误。我不知道它是否会为你解决它,但这里是我如何解决它:

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

相关问题