没有合适的资源?快使用搜索试试~ 我知道了~
(5):Binding细解本文的出发点:通过阅读本文,您能了解以下知识:WCF中的Binding是什么?Binding的组成?BindingElement的分类?Binding描述了那些层面的信息?选择正确的Binding本文适合的读者:本文适合WCF的初学者WCF中的Binding是什么?在弄清Binding是什么之前,我们先看一下WCF的中的Endpoint结构,一个Endpoint就类似于xmlwebservice中的一个asmx文件,它包括三个组成部分1)Address2)Binding3)Contract,此三者被称为组成Endpoint的"ABC",下图阐述了Endpoint的组成
资源推荐
资源详情
资源评论
WCF从理论到实践系列之二从理论到实践系列之二
(5)::Binding细解细解
本文的出发点:
通过阅读本文,您能了解以下知识:
WCF中的Binding是什么?
Binding的组成?
Binding Element 的分类?
Binding描述了那些层面的信息?
选择正确的Binding
本文适合的读者:本文适合的读者:
本文适合WCF的初学者
WCF中的中的Binding是什么?是什么?
在弄清Binding是什么之前,我们先看一下WCF的中的Endpoint结构,一个Endpoint就类似于xml web service中的一个asmx文
件,它包括三个组成部分1)Address 2) Binding 3) Contract,此三者被称为组成Endpoint的"ABC",下图阐述了Endpoint的组成
结构:
ABC分别解决了Endpoint的如下问题:
A解决了Endpoint在哪的问题,也就是"Where is the endpoint?"
B 解决的是如何与Endpoint通讯的问题,也就是"How to communicate with endpoint?"
C解决了Endpoint提供什么功能的问题,也就是"What functionalities do the endpoint provide?"
上面的两篇文章WCF从理论到实践三:八号当铺之黑色契约和WCF从理论到实践四:路在何方分别阐述了Contract和
Address,本文着重讨论Binding, Binding实现的是在客户端和服务端进行通讯的底层细节,包括数据如何传输(比如采用
Tcp,Http等),如何解决安全问题(SSL,Message Level Security等),传输的消息的格式(如text/xml,MTOM,binary等)。
Binding的组成?的组成?
Binding包括三个组成部分:NameSpace,Name和BindingElement,如下图所示:
Name和NameSpace是服务元数据(meta date)的唯一标志,换句话说,二者就像Binding的姓名一样,而BindingElement则描
述Binding的特征,我们说Binding能解决通讯方式的问题,关键是靠BindingElement来进行描述。
Binding Element 的分类的分类
Binding Element中最核心的组成部分,它分为以下三种类型
Encoding Binding Element:它用于描述传输数据的编码方式,比如用text/xml进行编码,用binary编码,用MTOM进行
编码都是在这个上面定义,每个Binding Element必须包含一个Encoding Binding Element。
Transport Binding Element:它用于描述数据的传输方式,例如使用tcp进行传输,还是用http进行传输,还是用msmq,
这些都是由Transport Binding Element来定义,每一个Binding Element 必须包含一个Transport Binding Element
Protocol Binding Element: 指定诸如安全性、可靠性、上下文流设置(context flow settins)
Binding描述了哪些层面的信息描述了哪些层面的信息
一个Binding包含着丰富的信息,每种信息都描述了服务端和客户端交互过程中的一方面,如下表所示,Binding描述了这些层
面的信息:
层次层次 备注说明备注说明
Transactions(事务) TransactionFlowBindingElement,用于指定事务流程
Reliability(信赖) ReliableSessionBindingElement,用于指定对会话方
式
Security(安全) SecurityBindingElement,指定安全方式
Encoding(编码) Text, Binary, MTOM, Custom,指定数据传输格式
Transport(传输) TCP, Named Pipes, HTTP, HTTPS, MSMQ,
Custom,指定传输方式
选择正确的选择正确的Binding
Binding是可以自定义实现的,可WCF框架已经为我们实现了足够多的Binding,供我们来选择,如下表所示:
Binding
名称名称
Configuration Element
描述描述
BasicHttpBinding basicHttpBinding 一个指定用符合基本
网络服务规范通讯的
binding,它用http进
行传输,数据格式为
text/xml
WSHttpBinding wsHttpBinding 一个安全的通用的
binding,但它不能在
deplex中使用
WSDualHttpBinding wsDualHttpBinding 一个安全的通用的
binding,但能在deplex
中使用
WSFederationHttpBinding wsFederationHttpBinding 一个安全的通用的支
持WSF的binding,
能对用户进行验证和
授权
NetTcpBinding netTcpBinding 在wcf应用程序中最
适合跨机器进行安全
通讯的binding
NetNamedPipeBinding netNamedPipeBinding 在wcf应用程序中最
适合本机进行安全通
讯的binding
NetMsmqBinding netMsmqBinding 在wcf应用程序中最
适合跨机器进行安全
通讯的binding,并且
支持排队
NetPeerTcpBinding netPeerTcpBinding 一个支持安全的,多
机交互的binding
MsmqIntegrationBinding msmqIntegrationBinding 一个用于wcf与现有
msmq程序进行安全
通讯的binding
下面的表格分别删除了上表中的Binding在互操作性(Interoperability), 安全性(Security), 是否支持会话(Session), 是否支
持事务(Transactions)和是否为全双工(Duplex)上不同。
Bingding Interoperability Security Session Transactions Duplex
BasicHttpBinding Basic Profile 1.1 (None), Transport,
Message
None, (None) None n/a
WSHttpBinding WS Transport,
(Message), Mixed
(None), Transport,
Reliable Session
(None), Yes n/a
WSDualHttpBinding WS (Message) (Reliable Session) (None), Yes Yes
WSFederationHttpBinding WS-Federation (Message) (None), Reliable Session (None), Yes No
NetTcpBinding .NET (Transport),
Message
Reliable Session,
(Transport)
(None), Yes Yes
NetNamedPipeBinding .NET (Transport) None, (Transport) (None), Yes Yes
NetMsmqBinding .NET Message,
(Transport), Both
(None) (None), Yes No
NetPeerTcpBinding Peer (Transport) (None) (None) Yes
MsmqIntegrationBinding MSMQ (Transport) (None) (None), Yes n/a
例外,《Programming WCF Services》有一幅图也能说明各自的特征:
下面的图给出了我们选择Binding的方式
(6)::WCF架构架构
前面的几篇文章,分别介绍了WCF的基本知识和Endpoint的三个重要组成部分:Address,Contract,Binding。但无非管中窥豹
而已,本文就阐述一下WCF的架构,从整体的角度来重新对WCF加深认识。
本文的出发点:本文的出发点:
通过阅读本文,能使您获得以下知识:
WCF的架构图
WCF架构的关键元素及其概念
创建一示例程序,并对其按架构图进行解析
本文适合的读者:本文适合的读者:
本文适合WCF初学者,以前可以对WCF一无所知,本文只作介绍,不涉及WCF技术具体技术难点和介绍。
WCF的架构图的架构图
下图为WCF的架构图:
剩余22页未读,继续阅读
资源评论
weixin_38706603
- 粉丝: 10
- 资源: 923
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TypeScript 和 Vue 的入门模板,带有详细的 README,描述了如何将两者结合使用 .zip
- The Net Ninja YouTube 频道上的 Vue.js 2 播放列表的课程文件.zip
- TDesign 的 Vue3.x UI 组件库 .zip
- AndroidStudio导入Cordova项目中文最新版本
- Muse Vue Ant Design 仪表板 - 免费且开源的 Ant Design Vue 仪表板.zip
- Laravel-Vue SPA 入门套件 .zip
- 非机动车未带安全帽检测数据集VOC+YOLO格式1000张4类别.zip
- Geist 的 Vue 实现.zip
- Electron + Vue仿网易云音乐windows客户端.zip
- Dropzone.js 的 Vue.js 组件 - 带有图像预览的拖放文件上传实用程序.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功