我有一个C#2.0 Windows服务(100%托管代码)和偶尔启动/重新启动它会导致整个计算机(Windows Server 2003)无限期挂起。当我单击“启动服务”时,服务控制进度条中途到达,然后机器在本地终端和远程桌面会话中完全没有响应。唯一的解决方案是重启机器。
系统事件日志中没有任何内容。
该服务是一个远程服务器,在启动时通过TCP对其他远程服务器(也是Windows服务)进行远程调用。
起初我认为这可能是一个网卡问题所以我们更换了机器(更好的规格,不同的网卡),但我仍然在大约十分之一的重启中得到同样的问题....所以90%的时间都完全没问题。
我做错了什么?
答案 0 :(得分:0)
将日志记录代码添加到服务的onStart例程中。您应该能够确定哪些函数调用正在激活您的CPU,并从那里开始工作。
答案 1 :(得分:0)
这是你代码中的错误!也许发布一个减少版本。
根据@GWLlosa的建议,添加大量的日志记录。