我有一个Windows服务,当我重新启动计算机时经常会失败,我不确切知道在哪里。 (我在try catch块上包围了所有内容,而且我从未碰到过catch块!)
无论如何,我认为这是一个时间问题。如果我让我的过程等待15秒,那么它工作正常。该服务连接到本地网络上的Web服务。初始化我的服务的正确方法是什么。有些计算机比其他计算机更快,因此一台计算机可能需要5秒延迟,而其他计算机可能需要25秒延迟。什么是解决这个问题最合适的方式?
我现在正在做的是在一个while循环中我尝试连接到本地网络上托管的本地Web服务。如果我无法连接,请在接下来的30秒内重试。我正在将我的数据记录到一个文件中,由于某种原因,我的服务一直在运行,它没有抛出任何异常。每隔30秒我就会在我的日志上看到一条新行说“试图连接”,但我没有得到那条线!我也不例外!如果我在任务管理器上看到该服务,Windows 7会说该服务正在运行。我该如何解决这个问题?
答案 0 :(得分:2)
听起来您的服务可能依赖于尚未启动的系统上的其他服务。 Windows允许您指定服务所依赖的其他服务,因此内置了对此的支持。我建议可能将您的服务设置为依赖于“工作站”服务。