1

我有一个 C# 2.0 Windows 服务(100% 托管代码),有时 当它启动/重新启动时,它会导致整个机器(Windows Server 2003)无限期挂起。当我单击“启动服务”时,服务控制进度条显示一半,然后机器在本地终端和远程桌面会话中完全没有响应。唯一的解决办法是重启机器。

系统事件日志中没有任何内容。

该服务是一个远程处理服务器,它在启动时通过 TCP 对其他远程处理服务器(也是 Windows 服务)进行远程调用。

起初我认为这可能是网卡问题,所以我们更换了机器(更好的规格,不同的网卡),但我在大约十分之一的重启中仍然遇到同样的问题......。所以 90% 的时间是完全没问题的。

我究竟做错了什么?

4

2 回答 2

0

将日志记录代码添加到服务的 onStart 例程。您应该能够找出哪些函数调用正在占用您的 CPU,并从那里开始工作。

于 2009-02-05T14:50:19.017 回答
0

这是您代码中的错误!也许发布一个精简版。

正如@GWLlosa 所建议的,添加丰富的日志记录。

于 2009-02-05T14:51:37.250 回答