WCF 通讯标准绑定

一、预定义标准绑定

标准绑定   说明
BasicHttpBinding BasicHttpBinding 绑定用于最广泛的互交操作,针对第一代Web服务,所使用的传输协议是HTTP或者HTTPS,其安全性由传输协议保证.
WSHttpBinding

WSHttpBinding绑定用于下一代Web服务,它们用SOAP拓展确保安全性,可靠性和事物处理;所使用的传输协议是HTTP或者HTTPS;为了确保安全,实现了WS-Security规范;
使用WS-Coordination、WS-Atomic Transaction和WS-BusinessActivity规范支持事物,通过WS-ReliableMessaging的实现支持可靠的消息传送,WS-Profile也支持用于发送附件的 MTOM(Message Transmission Optimization Protocol消息传输优化协议)
编码WS-*标准的规范可参见http://www.oasis-open.org

WS2007HttpBinding  WS2007HttpBinding 派生自基类WSHttpBinding ,支持OASIC(Organization for the Advancement of Structured Infomation Standards)结构化信息标准促进组织,定义的安全性、可靠性、和事物规范、这个类提供了更新的SOAP标准.
WSHttpContextBinding  WSHttpContextBinding 派生自基类WSHttpBinding ,开始支持没有使用cookie的上下文.这个绑定会添加ContextBindingElement来交换上下文信息,Windows Workflow Foundation3.0需要上下文绑定元素.
WebHttpBinding WebHttpBinding 绑定通过HTTP请求(而不是SOAP请求)提供的服务,它对脚本客户端很有用,比如ASP.Net Ajax
WSFederationHttpBinding WSFederationHttpBinding 是一种安全的,可互交操作的绑定,支持在多个系统上共享身份,以进行身份验证和授权
WSDualHttpBinding WSDualHttpBinding 与 WSHttpBinding相反WSDualHttpBinding绑定支持双工的消息传送
NetTcpBinding   

所有用Net作为前缀的标准绑定都使用二进制编码在.NET 应用程序上通讯,这个编码比
WS-*绑定使用的文本编码快NetTcpBinding绑定使用TCP/IP协议.

NetTcpContextBinding 类似于WSHttpContextBinding ,NetTcpContextBinding 会添加ContextBindingElement 与SOAP标题交换上下文信息.
NetHttpBinding  这是.NET 4.5新增的绑定,支持WebSocket传输协议.
NetPeerTcpBinding  NetPeerTcpBinding 为对等通讯提供绑定.
NetNamedPipeBinding NetNamedPipeBinding为同一系统中不同的进程之间的通讯进行了优化
NetMsmqBinding NetMsmqBinding为WCF引入了排队通讯,这里消息会被发送到消息队列中.
MsmqIntegrationBinding MsmqIntegrationBinding是用于消息队列的已有应用程序绑定,而NetMsmqBinding绑定需要位于客户端和服务器上的WCF应用程序.
CustomBinding  使用Custom Binding 可以完全定制传输协议和安全要求. 

二、 标准绑定的功能

功能 绑定
会话 WSHttpBinding、WSDualHttpBinding、WSFederationHttpBinding、NetTcpBinding 、NetNamedPipeBinding 
可靠的会话 WSHttpBinding 、WSDualHttpBinding、WSFederationHttpBinding 、NetTcpBinding
事物

WSHttpBinding、WSDualHttpBinding、WSFederationHttpBinding、NetTcpBinding、WSDualHttpBinding、WSFederationHttpBinding、
NetNamedPipeBinding、NetMsmqBinding、MsmqIntegrationBinding

双工通讯

WSDualHttpBinding、NetTcpBinding、NetNamedPipeBinding、NetNamedPipeBinding

三、其他补充

1.除了定义绑定之外,服务还必须定义端点,端点依赖于协定、服务的地址和绑定、

WCF 通讯标准绑定的更多相关文章

  1. WCF中的标准绑定

    使用过WCF的童鞋们都很清楚,绑定是必须的.我将这些绑定总结了下. 一.标准绑定简要说明 1.basicHttpBinding 基于WS-I Basic Profile 1.1 的web服务,所需的. ...

  2. WCF标准绑定以及传输协议与编码格式

    WCF 定义了9 种标准绑定: 基本绑定(Basic Binding) 由BasicHttpBinding类提供.基本绑定能够将WCF服务公开为旧的ASMX Web服务,使得旧的客户端能够与新的服务协 ...

  3. 我的服装DRP之即时通讯——为WCF增加UDP绑定(应用篇)

    发个牢骚,博客园发博文竟然不能写副标题.这篇既为我的服装DRP系列第二篇,也给为WCF增加UDP绑定系列收个尾.原本我打算记录开发过程中遇到的一些问题和个人见解,不过写到一半发现要写的东西实在太多,有 ...

  4. WCF系统内置绑定列表与系统绑定所支持的功能

      WCF系统内置绑定列表 绑定 配置元素 说明 传输协议 编码格式 BasicHttpBinding <basicHttpBnding> 一个绑定,适用于与符合 WS-Basic Pro ...

  5. 每日分享!~ JavaScript中面试基础--1,数组检测的方式 2.传统事件绑定和W3C标准绑定事件的区别~

    javaScript 那些方式中检测数据类型 typeof typeof isNaN // 结果是function 检测数组的几种方式 instanceof arr instanceof Array( ...

  6. 为WCF增加UDP绑定(储备篇)

    日前我开发的服装DRP需要用到即时通信方面的技术,比如当下级店铺开出零售单时上级机构能实时收到XX店铺XX时XX分卖出XX款衣服X件之类的信息,当然在上级发货时,店铺里也能收到已经发货的提醒.即时通信 ...

  7. 为WCF增加UDP绑定(实践篇)

    这两天忙着系统其它功能的开发,没顾上写日志.本篇所述皆围绕为WCF增加UDP绑定(储备篇)中讲到的微软示例,该示例我已上传到网盘. 上篇说道,绑定是由若干绑定元素有序组成,为WCF增加UDP绑定其实就 ...

  8. [WCF编程]6.绑定行为

    一.绑定行为概述 为了支持服务端的其它本地特性,WCF定义了行为的概念.行为就是服务的本地特性,不会影响服务的通信模式.客户端并不知道服务端行为,所以行为不会出现在服务的绑定和发布的元数据中.说下WC ...

  9. [WCF编程]5.绑定概述

    一.绑定概述 WCF提供了一个编程框架,可以抽象化服务创建的复杂过程.绑定允许开发人员将精力集中在问题本身上,而无需考虑如何创建允许系统运行的架构,因为WCF已经创建了架构. 绑定类型是开发人员控制W ...

随机推荐

  1. 洛谷——P1273 有线电视网

    P1273 有线电视网 题目大意: 题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树 ...

  2. Scrapy用Cookie实现模拟登录

    模拟登录是爬取某些站点内容的一个关键,有些网站(特别是论坛类),不登录的话,一个数据也拿不到. 模拟登录有这样几个关键: 弄清楚登录的url一些网站打开出现登录的页面,地址栏大多数不是登录提交表单的u ...

  3. visioStudio常见问题

    问题一: 在做项目时候,使用VisioStudio 2008,一不小心将设置恢复到了原始,一直找不到需要的东西. 比如生成方式“debug”和“Release”选择框没有.一些图标也没有. 经过不断的 ...

  4. springcloud(九):熔断器Hystrix和Feign的应用案例

    因为 feign 中已经支持了 Hystrix ,所以在 Feign 中使用 Hystrix 时,不需要导包,也不需要在入口类上面增加额外的注解:  Feign 虽然支持了 Hystrix ,但是默认 ...

  5. 【Codeforces 479D】Long Jumps

    [链接] 我是链接,点我呀:) [题意] 如果存在a[j]-a[i]=d 那么认为可以量出来长度d 现在给你量尺上的n个点. 问你最少要加多少个点,才能够量出来长度x和长度y [题解] 设dic1和d ...

  6. Java基础学习总结(78)——Java main方法深入研究学习

    1.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类. 在Java 7之前,你可以通过使用静态初始化运行Java类.但是,从Java 7开始就行不通了. 2.main() ...

  7. HDU 1224 无环有向最长路

    用bellman_ford的方法,将中间不断取较小值,修改为取较大值就可以了 #include <cstdio> #include <cstring> #include < ...

  8. GUI 总结(一)

    一/概述 1.两个包: javax.awt //before java 1.2 javax.swing //after java 1.2 2.两个词: 组件Component 容器Container ...

  9. code wars quiz: toInteger

    Your task is to program a function which converts any input to an integer. Do not perform rounding, ...

  10. Spring Cloud ZooKeeper集成Feign的坑2,服务调用了一次后第二次调用就变成了500,错误:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.n

    错误如下: 2017-09-19 15:05:24.659 INFO 9986 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refre ...