【发布时间】:2011-02-13 23:10:02
【问题描述】:
我有一个控制台应用程序启动,托管一堆服务(长时间运行的启动),然后等待客户端调用它。我有启动此控制台应用程序并进行“客户端”调用的集成测试。如何在调用客户端之前等待控制台应用程序完成启动?
我想避免使用Thread.Sleep(int),因为这取决于启动时间(可能会发生变化),如果启动速度更快,我会浪费时间。
Process.WaitForInputIdle 仅适用于具有 UI 的应用程序(我确认在这种情况下它确实会引发异常)。
我对尴尬的解决方案持开放态度,例如,让控制台应用程序在准备好时写入一个临时文件。
【问题讨论】:
-
控制台应用程序托管 WCF 服务。 “客户端”进行 WCF 调用。如果控制台应用程序没有完成启动,客户端会收到 Endpoint Not Found 异常。
标签: c# timeout console-application