关于c#:. NET进程间通信的最佳选择是什么?

关于c#:. NET进程间通信的最佳选择是什么?

What is the best choice for .NET inter-process communication?

我应该使用命名管道还是.NET Remoting与计算机上正在运行的进程进行通信?


WCF是最佳选择。它支持多种不同的传输机制(包括命名管道),并且可以完全由配置驱动。我强烈建议您看一下WCF。

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

博客引用:

The WCF and .NET Remoting are really comparable in performance. The differences are so small (measuring client latency) that it does not matter which one is a bit faster. WCF though has much better server throughput than .NET Remoting. If I would start completely new project I would chose the WCF. Anyway the WCF does much more than Remoting and for all those features I love it.

WCF的MSDN部分


如果在单台计算机上,则命名管道可以为您提供更好的性能,并且可以与远程处理基础结构以及WCF一起实现。或者,您可以直接使用System.IO.Pipes。


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

命名管道绝对有效,但是它们要求至少设计一个基本的应用程序协议,这可能不可行。远程处理使您可以轻松地调用远程方法。


如果您使用的是.NET Framework 3.0或更高版本,则应使用WCF。使用WCF,您可以使用不同的绑定,具体取决于性能/互操作/等之间的权衡。您需要的。

如果性能不是很关键,并且您需要与其他Web Service技术互操作,则将需要使用WS-HTTP绑定。对于您的情况,可以将WCF与net-tcp绑定或命名管道绑定一起使用。两者都应该起作用。

我个人认为,WCF方法更加简洁,因为您可以进行合同驱动的服务,并专注于消息而不是对象(我在此基于WCF / .NET Remoting的默认编程模型进行概括)。我不喜欢通过电线发送对象,因为很多语义信息会丢失或不清楚。当您像使用WCF一样发送消息时,可以更轻松地将通信和单个节点组成的类/基础结构之间的关注点分开。


.NET Framework 2.0中的远程处理为同一机器内的进程间通信提供了IPC通道。


WCF还提供了灵活性。通过仅更改一些配置(绑定),您就可以在其他计算机上使用相同的服务,而不是在同一计算机上使用IPC。因此,您的代码保持灵活。


.Net远程处理本身并不是一个协议。它使您可以选择要使用的协议:SOAP,命名管道等。


.net远程处理内置于.net中,以进行内部进程通信。如果您使用它,他们将继续支持并可能在将来的版本中对其进行增强。命名管道并不能保证您会在.net的未来版本中得到增强


推荐阅读

    计算机主板BIOS设置详细-BIOS知识

    计算机主板BIOS设置详细-BIOS知识,,什么是电脑BIOS,一般电脑主板已经设置完毕后,电脑就开始按del键进入BIOS。系统启动BIOS,即微机的基本输入

    计算机蓝屏故障的计算机蓝屏解决方案

    计算机蓝屏故障的计算机蓝屏解决方案,,电脑蓝屏电脑故障经常使用电脑的朋友经常遇到,因为电脑蓝屏是一个非常普遍的现象,所以很难预测,什么时

    计算机自动关机的原因是什么

    计算机自动关机的原因是什么,,计算机(计算机),通常称为计算机,是一种用于高速计算的电子计算机。它可以进行数值计算和逻辑计算,还具有存储记忆

    电脑功率计算|电脑功率计算公式

    电脑功率计算|电脑功率计算公式,,电脑功率计算公式  从设计角度出发一般取300w/台基本都可以满足要求,可以从以下几个方面分析一下电脑功

    如何设置计算机视图视图的统一视图

    如何设置计算机视图视图的统一视图,,不知道你是否有这样的使用电脑经验,电脑在不同的文件夹打开,有时这个文件夹是用来查看列表的方式,但是当

    的故障_计算机解决无法打印文档

    的故障_计算机解决无法打印文档,,核心提示:最近,打印机出现了一个奇怪的现象,在打印正常之前,打印机不能打印最近的突然,提示发送打印作业,计算

    PC计算机:AMDCPU核心细节

    PC计算机:AMDCPU核心细节,,核心提示:AthlonXP的核心型athlonxp有4种不同的核心类型,但都有个共同点:他们都使用socketa接口,他们都使用PR标称值

    分析计算机减速的原因

    分析计算机减速的原因,,核心提示:做以上九点,我相信你的爱是快的。当然,如果速度很慢,你应该考虑硬件升级。学习电脑组装,就来吧… 有很多人说

    什么是计算机待机意味着计算机待机功耗

    什么是计算机待机意味着计算机待机功耗,,近年来,在计算机配置和各大论坛,百度知道,搜搜问问报价,电脑待机问题的用户,在问题更感兴趣,如什么是备