在 .NET Windows 窗体中,如何在两个 EXE 或应用程序之间发送数据?

Tat*_*rma 2 .net c# winforms

我提出的场景基本上是两个 .NET 可执行文件之间的交互。

我用 C# 创建了一个 .NET Windows 窗体应用程序(应用程序-A),该应用程序在用户的计算机上运行并执行一些特定的活动,因此它会收集一些数据。现在我有另一个 .NET Windows 窗体可执行文件(应用程序-B),也是用 C# 制作的,它还根据提供的某些输入或数据执行一些特定活动。

现在我想做的是,从应用程序 A 调用应用程序 B 并将一些数据传递给它。

我该如何实现这个目标?

Dan*_*lba 5

您可以使用多个选项。对于下面的每个选项,您都有一些资源。

  • .NET 远程处理
  • 世界碳纤维
  • 使用通讯文件
  • 消息队列

仅当进程位于同一台计算机中时,最后两个选项才有效。

由于它们是两个独立的进程,我认为最简单的方法是使用.NET Remoting. 在这里您可以找到有关如何执行此操作的文档和示例。

远程处理的替代方案是WCF (>= .NET 3.0)。它的性能比远程处理更好

如果进程始终位于同一台计算机中,如果您不想在本地主机上使用远程处理,则可以通过文件进行通信(简单的解决方案通常可以正常工作!

其他更复杂的解决方案是使用消息队列(MSMQ)进行通信。在这里您可以找到有关如何使用它的示例。