博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF常用绑定选择
阅读量:4321 次
发布时间:2019-06-06

本文共 1766 字,大约阅读时间需要 5 分钟。

 

一、五种常用绑定常用绑定的传输协议以及编码格式

名称 传输协议 编码格式 互操作性
BasicHttpBinding HTTP/HTTPS Text,MTOM Yes
NetTcpBinding TCP Binary No
NetNamedPipeBinding IPC Binary No
WSHttpBinding HTTP/HTTPS Text,MTOM Yes
NetMsmqBinding MSMQ Binary

No

 

 

 

 

 

 

 

1、基本绑定(BasicHttpBinding)

对应BasicHttpBinding类,能够将WCF服务公开为传统的ASMX Web服务,是以前就的程序能够使用现在的WCF服务。在实际开发中一个WCF服务可能会给不同的程序调用,如给Java的程序调用,给Flex的程序调用等,那么采用BasicHttpBinding最合适不过了

2、TCP绑定(NetTcpBinding)

对应与NetTcpBinding类,TCP绑定使用TCP协议在Intranet中跨机器的通信,注意这里是Intranet而非Internet。支持多种特性,包括可靠性、事务性、安全性、以及WCF之间通信的优化。前提是要求客户端与服务端都必须使用WCF

3、IPC绑定(NetNamedPipeBinding)

对应于NetNamedPipeBinding累,使用命名管道为同一机器通信进行传输,安全性最高,因为不能接收其它机器的外部调用。IPC协议绑定与TCP协议绑定相似,也是性能最好的绑定,因为IPC协议比TCP协议更简单

4、Web服务(WS)绑定(WSHttpBinding)

对应于WSHttpBinding类,WS绑定使用Http或Https进行传输。为基于Internet的通信提供了多种特性(可靠性、事务性、安全性),遵循WS-*标准。该绑定用来与支持WS-*标准的系统进行互操作

5、MSMQ绑定(NetMsmqBinding)

对应于NetMsmqBinding类,它使用MSMQ进行传输,用于支持断开的队列调用

注:二进制编码格式使用TCP、IPC、MSMQ可以获取最佳性能,但是它是以牺牲互操作性为代价,因为它只支持WCF到WCF的通信

 

二、选择绑定

首先考虑服务是否要与非WCF的客户端交互,如果需要,判断客户端期望调用基本Web协议(ASMX Web)就选BasicHttpBinding,否则就选WSHttpBinding,该绑定支持WS-*标准。

WCF到WCF的考虑是否需要脱机或断开状态下的交互,如果需要就选择NetMsmqBinding。此外在判断是否需要跨机器调用,如果需要就选择NetTcpBinding,否则就选择NetNamedPipeBinding

 

三、其他集中不是很常用的绑定

1、WS双向绑定

对应于WSDualHttpBinding类,与WS绑定几乎一样,不过它支持双向通信。由于没有支持回调的行业标准,所以不支持互操作性。在.NET服务总线以及NetTcpRelayBinding出现后,不再推荐使用

2、对等网络绑定

对应于NetPeerTcpBinding类,它使用对等网络来传输消息:使用对等网络与客户端可以订阅的相同网格,并且广播消息。设计网络拓扑与网络计算

3、联邦WS绑定

对应于WSFederationHttpBinding类,主要是支持联邦安全

4、联邦WS 2007绑定

对应于WS2007FederationHttpBinding类,为WSFederationHttpBinding的更新版本

5、MSMQ集成绑定

对应于MsmqIntegrationBinding类,支持消息队列的绑定,MSMQ集成绑定可以将WCF消息转化为MSMQ消息,它的设计目标就是为了与MSMQ客户端交互

6、WS 2007绑定

对应于WS2007HttpBinding类,继承与WSHttpBinding类,添加了对于事务、安全、可靠性规范的支持

 

转自:http://blog.csdn.net/dingxingmei/article/details/13772121

转载于:https://www.cnblogs.com/yf2011/p/5390748.html

你可能感兴趣的文章
Scoi2010——传送带(三分套三分=九分)
查看>>
【UOJ21】【UR #1】缩进优化(整除分块)
查看>>
【BZOJ3626】【LNOI2014】—Lca(树链剖分)
查看>>
创建 In-app Billing 商品
查看>>
DP Intro - Tree DP
查看>>
Java使用DOM方式读写XML
查看>>
eclipse maven工程中src/main/resources目录下创建的文件夹是包图标的解决方法
查看>>
java常见问题
查看>>
bzoj 1012[JSOI2008]最大数maxnumber
查看>>
NOIP2017 D1T2 时间复杂度
查看>>
ASP.NET数据格式的Format-- DataFormatString
查看>>
C++反汇编第一讲,不同作用域下的构造和析构的识别
查看>>
24行为型模式之解释模式
查看>>
VS2010/MFC编程入门之四十八(字体和文本输出:文本输出)
查看>>
【原】Spark中Client源码分析(一)
查看>>
springCloud和docker笔记(1)——微服务架构概述
查看>>
Send an image over a network using Qt
查看>>
SQL Server执行动态SQL正确方式
查看>>
hql查询后释放内存
查看>>
linux下php-5.4.8.tar.gz编译安装全攻略
查看>>