将父子进程作为Windows服务运行时重定向IO

时间:2011-02-12 21:22:19

标签: c# windows winforms windows-services

我有调用C#子进程的程序。父母和孩子通过stdio进行沟通。对于孩子,我使用System.Console.In和System.Console.Out来读取和写入来自父级的消息。我在Windows cmd控制台上运行它,效果很好。

然后我将父程序安装为Windows服务,在父端重定向IO并启动服务。服务运行,它启动父进程,然后创建子进程。但是,在此模式下,父级和子级无法通信。儿童不会通过标准io收到任何消息。

是因为我使用System.Console导致它在作为服务运行时中断吗?如果我没有System.Console,可以使用什么使它在两种模式下都能工作?

谢谢

1 个答案:

答案 0 :(得分:0)

这里的理想是WCF和命名管道。 或者,使用MSMQ也可以工作,并启用远程使用。