在.NETWindowsForms中,如何在两个EXE或应用程序之间发送数据?我想出的场景基本上是两个.NET可执行文件之间的交互。我用C#(Application-A)创建了一个.NETWindowsForms应用程序,它在用户的计算机上运行并在收集一些数据时执行一些特定的活动。现在我有另一个.NETWindows窗体可执行文件(Application-B),也是用C#编写的,它还根据提供的某些输入或数据执行一些特定的活动。现在我想要做的是,从Application-A调用Application-B并将一些数据传递给它。我怎样才能做到这一点?您可以使用多个选项。下面的每个选项都有一些资源。最后两个选项仅在进程位于同一台机器上时才有效。由于它们是两个独立的进程,我认为最简单的方法是使用.NETRemoting。在这里您可以找到有关如何执行此操作的文档和示例。远程处理的替代方法是WCF(>=.NET3.0)。它比远程执行更好。如果进程总是在同一台机器上,如果你不想在本地主机上使用远程处理,你可以通过文件进行通信(简单的解决方案通常可以正常工作!)而其他更复杂的解决方案是使用消息队列(MSMQ)来交流。在这里您可以找到有关如何使用它的示例。您可以使用MSMQ在应用程序之间进行通信。但是,任何机制都可以。您可以使用基于文件的通信(写入已知目录并从中读取)。WCF是另一种解决方案。WCF将在未来为您提供很大的灵活性:如果您决定增强此通信以支持多种通信模式,app.config更改应该是支持不同绑定的大部分工作。在我从事的一些项目中,混合了多种通信技术,其中一种选择更容易维护——这让我接受了WCF决定其固有的灵活性(如果需要排队通信,WCF也支持MSMQ)。如果您担心学习曲线,并且确信将来不需要采用其他通信拓扑,那么远程处理可能是一个有用的解决方案。远程处理可能是设置IPC所需的开发人员工作量最少的最简单方法。您应该远离Web服务之类的东西-WCF不会遭受不必要的Web服务操作开销(例如,WCF仍然允许二进制传输)。如果两个应用程序都在同一用户计算机上运行1-这可以通过进程间通信通道(IPC通道)实现2-如果您使用的是.NET4.0,则可以使用内存映射文件如果两个应用程序在不同的系统上运行1-可以使用.NETRemoting2-可以基于WCF服务进行通信如果使用.NET2.0或更低版本,还可以选择3-WebService以上是C#学习教程:在.NETWindowsForms中,如何发送两个EXE或应用程序之间的数据?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
