0

我有一个 Windows 服务,当我重新启动计算机时经常失败,我不知道确切的位置。(我把所有东西都放在 try catch 块上,但我从来没有碰到 catch 块!)

无论如何,我认为这是一个时间问题。如果我让我的过程等待 15 秒,那么它工作正常。该服务连接到本地网络上的 Web 服务。初始化我的服务的正确方法是什么。有些计算机比其他计算机更快,因此一台计算机可能需要 5 秒延迟,而其他计算机可能需要 25 秒延迟。解决这个问题的最合适的方法是什么?

我现在正在做的是在一个while循环上,我尝试连接到本地网络上托管的本地Web服务。如果我无法连接,我会在接下来的 30 秒内重试。我正在将我的数据记录到一个文件中,由于某种原因,我的服务一直在运行,它不会抛出任何异常。每 30 秒我应该在我的日志上看到一个新行,上面写着“正在尝试连接”,但我没有得到那行!我也没有例外!如果我在任务管理器上查看该服务,Windows 7 会说该服务正在运行。我应该如何解决这个问题?

4

1 回答 1

2

听起来您的服务可能依赖于系统上尚未启动的另一个服务。Windows 通过允许您指定您的服务所依赖的其他服务来内置对此的支持。我建议也许将您的服务设置为依赖于“工作站”服务。

于 2013-10-07T20:14:21.217 回答