我提出的场景基本上是两个 .NET 可执行文件之间的交互。
我用 C# 创建了一个 .NET Windows 窗体应用程序(应用程序-A),该应用程序在用户的计算机上运行并执行一些特定的活动,因此它会收集一些数据。现在我有另一个 .NET Windows 窗体可执行文件(应用程序-B),也是用 C# 制作的,它还根据提供的某些输入或数据执行一些特定活动。
现在我想做的是,从应用程序 A 调用应用程序 B 并将一些数据传递给它。
我该如何实现这个目标?
您可以使用多个选项。对于下面的每个选项,您都有一些资源。
仅当进程位于同一台计算机中时,最后两个选项才有效。
由于它们是两个独立的进程,我认为最简单的方法是使用.NET Remoting. 在这里您可以找到有关如何执行此操作的文档和示例。
远程处理的替代方案是WCF (>= .NET 3.0)。它的性能比远程处理更好。
如果进程始终位于同一台计算机中,如果您不想在本地主机上使用远程处理,则可以通过文件进行通信(简单的解决方案通常可以正常工作!)
其他更复杂的解决方案是使用消息队列(MSMQ)进行通信。在这里您可以找到有关如何使用它的示例。