.NET进程间通信的最佳选择是什么?

mrb*_*eyt 81 .net c# ipc process

我应该使用命名管道或.NET Remoting与我的机器上正在运行的进程通信吗?

Eri*_*ver 58

WCF是最好的选择.它支持许多不同的传输机制(包括 命名 管道),可以完全配置驱动.我强烈建议你看一下WCF.

这是一个进行WCF与Remoting性能比较的博客.

博客引用:

WCF和.NET Remoting的性能确实相当.差异非常小(测量客户端延迟),哪一个更快一点并不重要.WCF虽然比.NET Remoting具有更好的服务器吞吐量.如果我要开始全新的项目,我会选择WCF.无论如何,WCF比Remoting做得更多,而且我喜欢它的所有功能.

WCF的MSDN部分


Mar*_*ade 15

如果它在一台机器上,命名管道可以为您提供更好的性能,并且可以使用远程处理基础架构和WCF实现.或者您可以直接使用System.IO.Pipes.


Dar*_*era 5

如果你的意思是进程间通信,我到目前为止使用.NET Remoting没有任何问题.如果两个进程在同一台机器上,则通信速度非常快.

命名管道肯定更有效,但它们需要至少设计一个基本的应用程序协议,这可能是不可行的.远程处理允许您轻松调用远程方法.

  • 命名管道上的WCF也允许这样做.您可以在两个流程中使用相同的合同程序集. (3认同)