WCF中的标准绑定
使用过WCF的童鞋们都很清楚,绑定是必须的。我将这些绑定总结了下。
一、标准绑定简要说明
基于WS-I Basic Profile 1.1 的web服务,所需的.Net Framework版本为 3.0 以上。
针对改进的web服务的绑定,包括WS-Security,WS-Transaction等元素,所需的.Net Framework版本为 3.0 以上。
支持双工通信的HTTP绑定,所需的.Net Framework版本为 3.0 以上。
支持REST/POX服务的绑定,使用XML/JSON序列化,所需的.Net Framework版本为 3.0 以上。
使用TCP传输协议在跨主机的局域网内使用,支持可靠性、事务、安全等特性,并且该绑定被特别的优化来支持WCF系统。但是,使用该绑定需要确保通信双方都基于WCF构建,这里并不符合SOA的原则,所需的.Net Framework版本为 3.0 以上。
支持和netTCPBinding大致相同的特性,但由于使用命名管道进行通信,所以通信不能跨越主机,所需的.Net Framework版本为 3.0 以上。
使用微软消息队列(MSMQ)协议来进行异步脱机的消息交互,所需的.Net Framework版本为 3.0 以上。
使用P2P协议在网格中进行消息交互,所需的.Net Framework版本为 3.0 以上。
该绑定可以用来在WCF消息和MSMQ消息中进行转换,所需的.Net Framework版本为 3.0 以上。
该绑定支持使用了联合安全机制的web服务,所需的.Net Framework版本为 3.0 以上。
该绑定继承自wsHttpBinding,其主要设计目的是为了支持2007年新定制的WS标准,所需的.Net Framework版本为 3.5以上。
该绑定继承自wsFederationHttpBinding,和ws2007HttpBinding一样。其设计目的是为了支持2007新定制的WS标准,所需的.Net Framework版本为 3.5以上。
二、如何选择绑定
如何选择绑定是编写WCF程序的一个比较重要的话题。绑定的选择包含了很多因素,包括消息传输的可靠性,传输模式是否跨进程、主机、网络,传输模式的支持、安全性、性能等多个方面。而从本质上来看,绑定具有的这些特性源于其使用的网络协议和编码器。
| 绑定名称 | 网络协议 | 编码器 | 可交互性 |
| basicHttpBinding | HTTP/HTTPS | Text,MTOM | 可交互 |
| wsHttpBinding | HTTP/HTTPS | Text,MTOM | 可交互 |
| WSDualHttpBinding | HTTP | Text,MTOM | 可交互 |
| webHttpBinding | HTTP/HTTPS | XML,JSON | 可交互 |
| netTcpBinding | TCP | 二进制编码器 | 不可交互 |
| netNamedPipeBinding | IPC | 二进制编码器 | 不可交互 |
| NetMsmqBinding | MSMQ | 二进制编码器 | 不可交互 |
| netPeerTCPBinding | P2P | 二进制编码器 | 不可交互 |
| msmqIntergrationBinding | MSMQ | 二进制编码器 | 可交互 |
| wsFederationHttpBinding | HTTP/HTTPS | Text,MTOM | 可交互 |
| ws2007HttpBinding | HTTP/HTTPS | Text,MTOM | 可交互 |
| ws2007FederationHttpBinding | HTTP/HTTPS | Text,MTOM | 可交互 |
MTOM(Message Transmission Optimization Mechanism),是W3C的MTOM的消息传输优化机制,有效地发送的二进制数据和从Web服务方法。将消息传输优化机制
(MTOM) 消息编码与WSHttpBinding
一起使用。MTOM是一种机制,用来以原始字节形式传输包含SOAP消息的较大二进制附件,从而使所传输的消息较小。
所有net开头的都不支持交互
WCF的交互可以分为下列几种情况。
1.跨越主机进程交互
2.跨越应用程序域但在同一进程内交互。
3.在同一程序域内交互。
绑定更详细的特点总结在下一篇中...
OK 说完了,补充一点:
.NET技术交流群 199281001 .欢迎加入。
觉得本文对你有所帮助,就点右下角推荐吧,谢谢。
WCF中的标准绑定的更多相关文章
- WCF 通讯标准绑定
WCF 通讯标准绑定 一.预定义标准绑定 标准绑定 说明 BasicHttpBinding BasicHttpBinding 绑定用于最广泛的互交操作,针对第一代Web服务,所使用的传输协议是HTTP ...
- 每日分享!~ JavaScript中面试基础--1,数组检测的方式 2.传统事件绑定和W3C标准绑定事件的区别~
javaScript 那些方式中检测数据类型 typeof typeof isNaN // 结果是function 检测数组的几种方式 instanceof arr instanceof Array( ...
- WCF标准绑定以及传输协议与编码格式
WCF 定义了9 种标准绑定: 基本绑定(Basic Binding) 由BasicHttpBinding类提供.基本绑定能够将WCF服务公开为旧的ASMX Web服务,使得旧的客户端能够与新的服务协 ...
- WCF 服务编程 - 常用绑定
WCF 定义了5中常用的绑定. 一. 绑定 1.基本绑定: 对应于BasicHttpBinding类.基本绑定能够将WCF服务公开为传统的ASMX Web服务,使得原客户端能够与新的服务协作.如果客 ...
- 跟我一起学WCF(12)——WCF中Rest服务入门
一.引言 要将Rest与.NET Framework 3.0配合使用,还需要构建基础架构的一些部件.在.NET Framework 3.5中,WCF在System.ServiceModel.Web组件 ...
- 跟我一起学WCF(10)——WCF中事务处理
一.引言 好久没更新,总感觉自己欠了什么一样的,所以今天迫不及待地来更新了,因为后面还有好几个系列准备些,还有很多东西需要学习总结的.今天就来介绍下WCF对事务的支持. 二.WCF事务详解 2.1 事 ...
- [No0000126]SSL/TLS原理详解与WCF中的WS-Security
SSL/TLS作为一种互联网安全加密技术 1. SSL/TLS概览 1.1 整体结构 SSL是一个介于HTTP协议与TCP之间的一个可选层,其位置大致如下: SSL:(Secure Socket La ...
- WCF(五) 深入理解绑定
适用于本机WCF-WCF交互性能最佳的绑定: 允许跨主机,但只能用于部署同一台主机上,不能访问命名管道 netNamePipeBinding总结 一 WCF与SOA SOA是一种通过为所有软件提供服务 ...
- 浅议Grpc传输机制和WCF中的回调机制的代码迁移
浅议Grpc传输机制和WCF中的回调机制的代码迁移 一.引子 如您所知,gRPC是目前比较常见的rpc框架,可以方便的作为服务与服务之间的通信基础设施,为构建微服务体系提供非常强有力的支持. 而基于. ...
随机推荐
- ZooKeeper学习第四期---构建ZooKeeper应用
一.配置服务 配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分.简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和 ...
- Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)
Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 Java 通过JDBC查询数据库表结构(字段名称,类型,长 ...
- memset的使用
今天写程序的时候用了memset这个函数,我知道他是关于清空指针的,设置为0.但我用的时候,没有注意到他是以字节为单位进行操作的,改了半天其他程序内容.要注意的是,memset是对字字进行操作,所以以 ...
- HTML5 IE兼容问题
最近,为公司做产品的时候用到了HTML5,用IE11打开的时候出现了界面乱或者加载js错误的问题. IE10 or IE11 :Browser Mode is IE10 .Document Mode: ...
- 仿照easy-ui并改进的表单验证
概述 easy-ui有自身的一套表单验证,扩展方便,但默认下也存在一些弱点,比如多规则验证.后台验证.远程异步验证等,这些功能要解决起来是比较吃力的.我仿照它的样式,写了一套前端表单验证的validB ...
- Bootstrap系列 -- 18. 表单控件大小
前面看到的表单控件都正常的大小.可以通过设置控件的height,line-height,padding和font-size等属性来实现控件的高度设置.不过Bootstrap框架还提供了两个不同的类名, ...
- [Aaronyang] 写给自己的WPF4.5 失传的第十本秘籍4[wpf使用FontAwesome,并送其他3招心法]
总有一个人他教会你成长,然后又独自离开--Aaronyang的博客(www.ayjs.net)-www.8mi.me =============时隔两年后再看WPF,有些秘籍不太适合公开,公开了就不值 ...
- 改善C#程序的建议3:在C#中选择正确的集合进行编码
要选择正确的集合,我们首先要了解一些数据结构的知识.所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合.结合下图,我们看一下对集合的分类. 集合分类 在上图中,可以看到,集合总体上分为线 ...
- F12调试打开时,出现很多多余内容问题解决
关闭vs2013的browserlink功能即可: <appSettings> <add key="vs:EnableBrowserLink" value=&qu ...
- Apache CXFjar包目录(转)
文件目录结构及相关文件的详细说明:|-bin|-docs|-etc|-lib|-licenses|-modules|-samples bin(目录) bin 目录中是 CXF 框架中所提供的代码生成. ...