我应该使用命名管道还是.NET远程调用来与我的计算机上运行的进程通信?
WCF是最佳选择。它支持许多不同的传输机制(包括 命名 管道),可以完全基于配置驱动。我强烈建议您查看WCF。
这里有一篇博客,对比了WCF与Remoting的性能。
博客中的一句话:
WCF和.NET Remoting在性能方面真的是可以相互比较的。它们之间的差异非常小(测量客户端延迟),以至于哪个更快并不重要。但是,WCF的服务器吞吐量比.NET Remoting要好得多。如果我要开始一个全新的项目,我会选择WCF。无论如何,WCF比Remoting做得更多,对于所有这些功能,我都喜欢它。
WCF 还提供了灵活性。只需更改一些配置(绑定),您就可以将相同的服务放在其他机器上,而不是在同一台机器上的 IPC。因此,您的代码保持灵活性。
.NET Framework 2.0 中的远程调用为同一台计算机上的进程间通信提供IPC通道。
.Net Remoting并非一个自成体系的协议,它允许您选择使用哪种协议:SOAP、命名管道等。
.NET Remoting是内置于.NET中的用于内部进程通信的技术。如果您使用它,他们将在未来版本中继续支持并可能增强它。而命名管道则不能保证在未来的.NET版本中会有增强功能。