调试Windows服务超时

时间:2012-10-18 21:13:46

标签: c# windows-services visual-studio-debugging

我有一个Windows服务,它创建一个UdpClient类的实例并监听传入的请求。我有一个帮助程序类来将其作为控制台应用程序运行。当我将它作为控制台程序运行时,它运行正常并正常接收连接。 当使用“installutil MyService”部署为Windows服务并启动它时,我收到以下错误: “错误1053:服务没有及时响应启动或控制请求。” 该服务甚至没有启动,所以我不能在代码中放置断点。 关于如何调试这个或在哪里看的任何建议? 感谢。

1 个答案:

答案 0 :(得分:2)

你的Start()方法花费太长时间来做它在服务启动时做的事情 - 如果内存服务你有15秒的时间来启动服务应该执行的任何任务(在不同的线程上长时间 - 运行或连续活动)然后您必须允许启动方法结束,以便服务控制器识别该服务已完成启动。

你没有发布任何代码,但我的假设是你正在同步监听UDP流量 - 所以启动方法就在那里等待UDP消息并且永远不会结束。将UDP侦听器放入其自己的线程,启动该线程,然后让启动方法结束。