我有一个Windows服务,我正在尝试调试。现在,即使当前的代码用于工作,它也无法启动。错误是:Windows服务将无法启动(错误1053)
Windows不能在本地计算机
错误1053年上启动的MyService服务:该服务没有启动或控制及时 请求作出回应。
为了找出这个错误,我试着评论一切。主要方法如下:
TextWriter tt = new StreamWriter(@"C:\startup.text", true);
tt.WriteLine("Starting up the service");
tt.Close();
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
TextWriter tt2 = new StreamWriter(@"C:\startup.text", true);
tt2.WriteLine("Run...");
tt2.Close();
它将“启动服务”和“运行...”打印到日志文件中。我也剥离了MyService的内部,因此它是空的。围绕任何代码都有一个try/catch,现在将其缩减为上面的一些日志行。我从来没有输入catch语句,它会记录它。在OnStart中
一切已被注释掉:
protected override void OnStart(string[] args)
{
}
所以我基本的想法。我以为这个错误是因为Start方法从未结束(或者不在30秒内)。有没有其他方法被调用?任何想法都表示赞赏。
额外信息: MyService中的构造函数为空。如果我插入一些Thread.Sleep(5000)行,那么弹出关于错误1053的错误消息需要更长的时间。 Main方法似乎必须退出(没有错误)。
确保你捕获所有未处理的异常并写入米到你的日志。例如:http://stackoverflow.com/questions/58280/unhandledexception-handler-in-a-net-windows-service ...这可能会给你更多的信息,为什么它失败。 –