如何在两个进程之间传递值(.net c#exe)

时间:2016-04-27 15:38:10

标签: c# desktop

我有一个应用程序(C#桌面应用程序),它是从另一个c#应用程序启动的。从父母传递价值 应用程序到子应用程序我们正在使用文本文件。启动它之前的父应用程序,写入值 一个文本文件和子应用程序读取它。

子应用程序处理该值并计算结果。

问题:用户关闭子应用后,需要通知父应用,新值应该是 在父应用程序中可用。

现在我完全不确定如何以简单的方式实现这一目标?架构无法更改。

提前多多感谢。 最好的问候。

3 个答案:

答案 0 :(得分:0)

您发送的值有多复杂和/或大?

如果需要,可以使用MSMQRabbitMQ(链接指向教程)。 IMO,这对于较大的消息来说是不错的,并且会在你的应用程序崩溃的情况下留在那里,消息仍然会在那里等待下一次。

或者对于基于整数的值的老派方法, SendMessage API ,使用WM_APP +(自定义索引)作为消息类型。

答案 1 :(得分:0)

有很多方法可以做到这一点。您的父应用可以轮询文本文件中的更改。您可以在父进程和子进程之间使用套接字(绑定到localhost的网络服务调用)。您可以写入消息队列。

答案 2 :(得分:0)

我听说我们可以使用WCF服务吗?

我不太了解wcf,但我对WCF服务的了解是,应用程序将引用wcf服务,该服务将调用MyMethod方法。现在MyMethod()执行一些功能,一旦功能结束,wcf服务就可以使用结果回调调用应用程序。

但在我的场景中,父应用程序启动的过程不同。在这种情况下,如何使用wcf服务?