C# WCF-NetMsmqBinding与NetTcpBinding
我阅读这篇文章是为了选择绑定选项 我不寻常地怀疑什么是 脱机或断开连接的交互,请选择NetMsmqBinding 这是否意味着即使服务未运行,客户机仍在使用该服务C# WCF-NetMsmqBinding与NetTcpBinding,c#,wcf,C#,Wcf,我阅读这篇文章是为了选择绑定选项 我不寻常地怀疑什么是 脱机或断开连接的交互,请选择NetMsmqBinding 这是否意味着即使服务未运行,客户机仍在使用该服务 你能分享一些实时的例子吗 这两种绑定完全不同 NetTcpBinding可以被认为是一种MS专有格式(通常为二进制),在概念上类似于RPC(例如,可用于替换.NET Remoting)。它是同步的,即客户端和服务器必须同时联机,并且客户端(几乎)立即收到响应 MSMQ是Microsoft推出的一种面向消息的中间件解决方案,它围绕异步
你能分享一些实时的例子吗 这两种绑定完全不同
可以被认为是一种MS专有格式(通常为二进制),在概念上类似于NetTcpBinding
(例如,可用于替换RPC
)。它是同步的,即客户端和服务器必须同时联机,并且客户端(几乎)立即收到响应.NET Remoting
是Microsoft推出的一种面向消息的中间件解决方案,它围绕异步队列展开—例如,如果客户端发送消息时目标服务器处于脱机状态,则消息将在客户端排队,直到服务器恢复联机。每个队列都是单向的,尽管可以通过第二个队列实现从服务器到客户端的双向通信。发送WCF MSMQ消息需要在客户端上安装MSMQ
服务。队列上的邮件可以具有传递“超时”,否则将被放置在适用的死信队列上MSMQ
- 我会将
与二进制序列化结合使用,以满足Microsoft WCF客户端和服务器之间的高性能、同步通信需求,例如在NetTcpBinding
无效的地方上载文件、媒体等(否则,我将使用Xml
进行同步wsHttpBinding
/Xml
消息传递)SOAP
- 我将在启用DTC的情况下使用
,以确保两个或多个系统(如金融系统)之间的可靠消息传递,至少有一个端点位于.Net中,并且有一个“兼容”服务器(不一定是MSMQBinding
,例如WCF
,或其他BizTalk
集线器或EAI
总线,它们具有ESB
适配器,例如MSMQ
之间存在桥接)。消息通常采用MSMQ和MQSeries
格式Xml
是。如果
MSMQ
在本地运行,客户端将获得立即返回成功响应(表明消息已排队)。但这并不意味着服务器已成功接收到消息。回答得好,我在许多复杂系统中广泛使用了WCF,只想增加我的两分钱。1.避免默认使用WCF,除非它提供RESTful Web服务中缺少的东西;是h的9/10倍WCF的eadache根本不值这个奖励。2.NetTcpBinding可以说是最好的(当然也是最快的——不包括命名管道)在我个人的经验中,绑定选项。然而,正如海报所解释的,它没有任何内置冗余。同意-已经4年了,xml现在主要由JSON服务重新绘制,WebApi现在在RESTful世界中已经超过了WCF。