我有调用C#子进程的程序。父母和孩子通过stdio进行沟通。对于孩子,我使用System.Console.In和System.Console.Out来读取和写入来自父级的消息。我在Windows cmd控制台上运行它,效果很好。
然后我将父程序安装为Windows服务,在父端重定向IO并启动服务。服务运行,它启动父进程,然后创建子进程。但是,在此模式下,父级和子级无法通信。儿童不会通过标准io收到任何消息。
是因为我使用System.Console导致它在作为服务运行时中断吗?如果我没有System.Console,可以使用什么使它在两种模式下都能工作?
谢谢
答案 0 :(得分:0)
这里的理想是WCF和命名管道。 或者,使用MSMQ也可以工作,并启用远程使用。