【发布时间】:2013-03-20 16:24:12
【问题描述】:
我的父进程将 process.start(..) 用于另一个进程。
子进程稍后将拥有我在其上调用 Initialized() 的 WCF 服务。
在调用任何方法之前,我想验证并确保该过程已正常启动。
现在我的代码是:
Process driverProcess = new Process();
driverProcess.StartInfo.FileName = ".."
driverProcess.Start();
然后我使用我的 WCF 服务客户端:
client.Initialize(..);
它正在工作,因为进程开始正常,但我没有任何迹象表明这一点。
例如,如果计算机不允许启动新进程,Process.Start() 将不起作用,我的客户端将尝试 .initialize() 一个不存在的 WCF 服务。
我可以使用什么技术来了解流程已经开始?命名管道客户端-服务器?
我不能使用 process.WaitForInputIdle(),因为这是我从中删除了 form1() 的 Winform 应用程序。 “无 GUI 窗口应用程序”。
【问题讨论】:
-
无法连接到 WCF 服务是一个很好的提示。这是最好的一个,因为如果该过程开始正常但在尝试初始化服务时失败了,它也可以工作。除此之外,您通常可以在退出后依赖非零的 Process.ExitCode。
-
嗨,汉斯,感谢您提醒我这个问题,我发布了答案。