WCF中的标准绑定

使用过WCF的童鞋们都很清楚,绑定是必须的。我将这些绑定总结了下。

 一、标准绑定简要说明

1.basicHttpBinding

    基于WS-I Basic Profile 1.1 的web服务,所需的.Net Framework版本为 3.0 以上。

2.wsHttpBinding

    针对改进的web服务的绑定,包括WS-Security,WS-Transaction等元素,所需的.Net Framework版本为 3.0 以上。

3.wsDualHttpBinding

    支持双工通信的HTTP绑定,所需的.Net Framework版本为 3.0 以上。

4.webHttpBinding

    支持REST/POX服务的绑定,使用XML/JSON序列化,所需的.Net Framework版本为 3.0 以上。

5.netTCPBinding

    使用TCP传输协议在跨主机的局域网内使用,支持可靠性、事务、安全等特性,并且该绑定被特别的优化来支持WCF系统。但是,使用该绑定需要确保通信双方都基于WCF构建,这里并不符合SOA的原则,所需的.Net Framework版本为 3.0 以上。

6.netNamedPipeBinding

   支持和netTCPBinding大致相同的特性,但由于使用命名管道进行通信,所以通信不能跨越主机,所需的.Net Framework版本为 3.0 以上。

7.netMsmqBinding

   使用微软消息队列(MSMQ)协议来进行异步脱机的消息交互,所需的.Net Framework版本为 3.0 以上。

8.netPeerTCPBinding

   使用P2P协议在网格中进行消息交互,所需的.Net Framework版本为 3.0 以上。

9.msmqIntegrationBinding

   该绑定可以用来在WCF消息和MSMQ消息中进行转换,所需的.Net Framework版本为 3.0 以上。

10.wsFederrationHttpBinding

   该绑定支持使用了联合安全机制的web服务,所需的.Net Framework版本为 3.0 以上。

11.ws2007HttpBinding

    该绑定继承自wsHttpBinding,其主要设计目的是为了支持2007年新定制的WS标准,所需的.Net Framework版本为 3.5以上。

12.ws2007FederationHttpBinding

    该绑定继承自wsFederationHttpBinding,和ws2007HttpBinding一样。其设计目的是为了支持2007新定制的WS标准,所需的.Net Framework版本为 3.5以上。

 

二、如何选择绑定

   如何选择绑定是编写WCF程序的一个比较重要的话题。绑定的选择包含了很多因素,包括消息传输的可靠性,传输模式是否跨进程、主机、网络,传输模式的支持、安全性、性能等多个方面。而从本质上来看,绑定具有的这些特性源于其使用的网络协议和编码器。

绑定名称  网络协议编码器可交互性
basicHttpBindingHTTP/HTTPSText,MTOM可交互
wsHttpBindingHTTP/HTTPSText,MTOM可交互
WSDualHttpBindingHTTPText,MTOM可交互
webHttpBindingHTTP/HTTPSXML,JSON可交互
netTcpBindingTCP二进制编码器不可交互
netNamedPipeBindingIPC二进制编码器不可交互
NetMsmqBindingMSMQ二进制编码器不可交互
netPeerTCPBindingP2P二进制编码器不可交互
msmqIntergrationBindingMSMQ二进制编码器可交互
wsFederationHttpBindingHTTP/HTTPSText,MTOM可交互
ws2007HttpBindingHTTP/HTTPSText,MTOM可交互
ws2007FederationHttpBindingHTTP/HTTPSText,MTOM可交互

MTOM(Message Transmission Optimization Mechanism),是W3C的MTOM的消息传输优化机制,有效地发送的二进制数据和从Web服务方法。将消息传输优化机制
(MTOM) 消息编码与WSHttpBinding
一起使用。MTOM是一种机制,用来以原始字节形式传输包含SOAP消息的较大二进制附件,从而使所传输的消息较小。

 

所有net开头的都不支持交互

WCF的交互可以分为下列几种情况。

1.跨越主机进程交互

2.跨越应用程序域但在同一进程内交互。

3.在同一程序域内交互。

 

绑定更详细的特点总结在下一篇中...

 

OK  说完了,补充一点:

 .NET技术交流群 199281001 .欢迎加入。

 觉得本文对你有所帮助,就点右下角推荐吧,谢谢。

 

作者:gaobing
出处: http://gaobing.cnblogs.com
提示:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

转载于:https://www.cnblogs.com/gaobing/p/3892270.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PM2.5空气质量指数(AQI)是如何计算的

源:PM2.5空气质量指数(AQI)是如何计算的 阅读目录 AQI如何计算  空气污染指数分级标准AQI如何计算 具体要计算PM2.5空气质量指数(AQI),SENBE申贝技术人员向您介绍如何计算的公式。比如当实测浓度小于等于0.035时,根据实测浓度50/0.035计算。…

C++对于大型图片的加载缩放尝试

Qt对于图片的操作主要集中在这几个类 QImage ,QImageReader ,QPixmap 其中QImage这个类对图片的缩放有几个很不错的技巧,不过对于大图片却并不好使,当我们去看QImage的实现代码时,会发现其中读取QImageReader来加载图片,当我们去看…

PHP移动互联网开发笔记(3)——运算符

一、PHP的运算符PHP中有丰富的运算符集,它们中大部分直接来自于C语言。按照不同功能区分,运算符可以分为:算术运算符、字符串运算符、赋值运算符、位运算符、条件运算符,以及逻辑运算符等。当各种运算符在同一个表达式中时&#x…

xadmin与mysql数据库_十八、Django3.0学习之引入xadmin

一、将xadmin导入Django工程中1.1 xadmin下载地址: https://github.com/sshwsfc/xadmin/tree/django2或者:链接:https://pan.baidu.com/s/1VJPsN5GOW_xbiPb8t43oRg提取码:nkei1.2 下载压缩包1.3 到zip目录下,进行pip3 …

WebApi个人理解概要

WebApi概要Global文件的作用: 12345678910111213141516public class MvcApplication : System.Web.HttpApplication{protected void Application_Start(){//1.注册区域路由AreaRegistration.RegisterAllAreas();//2.注册webApi的路由WebApiConfig.Register(GlobalCo…

帮 C/C++ 程序员彻底了解链接器

为什么80%的码农都做不了架构师?>>> http://blog.jobbole.com/96225/ 转载于:https://my.oschina.net/lieefu/blog/547083

12306订票助手java_12306订票助手

权限信息 com.android.alarm.permission.SET_ALARM 读取日历活动和机密信息 添加或修改日历活动,并在所有者不知情的情况下向邀请对象发送电子邮件 完全的网络访问权限 查看网络连接 查看WLAN连接 读取您的USB存储设备中的内容 修改或删除您的USB存储设备中的内容 a…

linux安装软件包(pip, distribute, nose, virtualenv)

一、 先安装pip 1. 先去python官网下载pip,网站:https://pypi.python.org/pypi/pip#downloads,点击下图中的“download” 2. 然后选择下图标注的包,链接可以通过f12获取,具体如下: 3. 然后再linux终端输入&…

event对象获取方法

为什么80%的码农都做不了架构师?>>> http://www.jb51.net/article/42691.htm 转载于:https://my.oschina.net/zxin/blog/547902

【iOS开发每日小笔记(一)】UIPickerView 自动选择某个component的某个row

这篇文章是我的【iOS开发每日小笔记】系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧。它们可能会给用户体验、代码效率得到一些提升,或是之前自己没有接触过的技术,很开心…

在Hadoop上运行基于RMM中文分词算法的MapReduce程序

原文:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-count-on-hadoop/ 在Hadoop上运行基于RMM中文分词算法的MapReduce程序 23条回复我知道这个文章标题很“学术”化,很俗,让人看起来是一篇很牛B或者很装逼的论文&#xff0…

Web服务的调用

1、创建服务引用 例如:天气预报 2、在代码添加引用空间 TvProgram.ChinaTVprogramWebService tpnew TvProgram.ChinaTVprogramWebService(); DataSet dstp.getAreaDataSet();3、引用具体方法 private void comBox1_SelectedIndexChanged(object sender,EventArgs e)…

aref无效 lisp_aref无效 lisp_Common Lisp专题4:数组

1)用make-array创建数组:CL-USER> (make-array 5 :initial-element nil)#(NIL NIL NIL NIL NIL)CL-USER> (make-array 5 :initial-contents (a e i o u))#(A E I O U)CL-USER> (setf arr (make-array 5 :initial-contents (a e i o u)))#(A E I O U)CL-USE…

Visual Studio 快捷键汇总

常见方法: 强迫智能感知:CtrlJ。智能感知是Visual Studio最大的亮点之一,选择Visual Studio恐怕不会没有这个原因。 撤销:CtrlZ。除非你是天才,那么这个快捷键也是最常用的。强迫显示参数信息:Ctrl-Shift-空…

nodejs解析apk

项目再github上的目录:https://github.com/chen2009277025/nodejs_apkToolnodejs无可厚非是新兴的后端语言,因为他的开发语言是javascript,javascript语言的自身优势,让nodejs迅速的火遍大江南北。很多的nodejs的开发插件如雨后春…

VC2013 代码图,依赖项关系图,等出错解决办法.

环境WIN10VS2013SQL2015 当VS2013代码图,依赖项关系图等出现 数据库连接错误时 去http://www.microsoft.com/zh-cn/download/details.aspx?id29062 下载 SqlLocalDB.MSI进行安装 怀疑是先装了SQL2015后安装VS2013时默认未安装SqlLocalDB.MSI导致.转载于:https://www.cnblogs.c…

POJ 1330 LCA最近公共祖先 离线tarjan算法

题意要求一棵树上,两个点的最近公共祖先 即LCA 现学了一下LCA-Tarjan算法,还挺好理解的,这是个离线的算法,先把询问存贮起来,在一遍dfs过程中,找到了对应的询问点,即可输出 原理用了并查集和dfs…

deferred Transports Protocols 简单介绍

2019独角兽企业重金招聘Python工程师标准>>> Twisted架构概览 Twisted是一个事件驱动型的网络引擎。由于事件驱动编程模型在Twisted的设计哲学中占有重要的地位,因此这里有必要花点时间来回顾一下究竟事件驱动意味着什么。 事件驱动编程是一种编程范式&a…

java web 请求跟踪_IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术

原标题:IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术Cookie使用HTTPHeader传递数据。Cookie机制定义了两种报头,Set-Cookie报头和Cookie报头。Set-Cookie报头包含于Web服务器的响应头(ResponseHeader)中,Cookie报头包含在浏览器客户端请…

FAT和EXFAT文件系统

源:FAT和EXFAT文件系统转载于:https://www.cnblogs.com/LittleTiger/p/8022450.html