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

how to pass value between two process (.net c# exe)

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

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

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

现在我完全不确定我们如何才能以简单的方式实现这一点?体系结构无法更改。

非常感谢。 最好的问候。

您要发送的值有多复杂and/or?

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

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

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

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

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

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