【发布时间】:2009-09-21 21:49:31
【问题描述】:
我找到了这篇文章,
windows service startup timeout
但只是想澄清一下,我用 C# .NET 编写了一个 Windows 服务,有时会出现超时错误,例如
已达到超时(30000 毫秒).... 启动服务时
原因是它在启动方法中执行了一些 WCF 操作,大多数情况下都可以正常工作,但是如果您的计算机在启动时陷入困境,例如它可能会导致它需要更长的时间。我现在意识到代码不应该是这样的结构。
从启动方法启动后台线程并在其中完成 WCF 工作是一种可接受的解决方案吗?
谢谢。
【问题讨论】:
-
其实我的问题有点误导。更多信息...此 Windows 服务正在启动“服务器”,因此启动方法应该相对即时(我将在某个阶段对其进行计时)。我的意思是它没有连接到其他任何东西,所以应该没有延迟。我的日志实际上显示,当这些超时发生时,根本没有调用启动方法。我猜有太多的服务试图同时启动。我对此无能为力。有什么建议吗?
-
另一个想法,我认为服务中的启动代码没有运行,但这是基于未写入事件日志的日志消息。但是如果启动代码正在运行,并且超时,并且事件日志消息没有被写入事件日志,例如它被缓存或其他东西。
标签: wcf windows-services