系统提供的绑定

绑定可指定在与终结点通话时所使用的通信机制,并指示如何连接到终结点。绑定包含以下元素:

  • 协议堆栈确定用于发送到终结点的消息的安全性、可靠性和上下文流设置。
  • 传输确定将消息发送到终结点时使用的基础传输协议,例如 TCP 或 HTTP。
  • 编码确定用于发送到终结点的消息的网络编码,例如,文本/XML、二进制或消息传输优化机制 (MTOM)。

本主题介绍系统提供的所有 Windows Communication Foundation (WCF) 绑定。如果这些绑定都不满足您应用程序的确切条件,则可以创建自定义绑定。有关 创建自定义绑定的更多信息,请参见自定义绑定

通过支持 WS-Federation 协议的安全的、可互操作的绑定,联盟中的组织可以高效地对用户进行身份验证和授权。

提示

始终选择包括安全性的绑定。默认情况下,除 <basicHttpBinding> 元素外的所有绑定都已启用安全性。如果不选择安全绑定或禁用安全性,请务必以某种其他方式保护数据,如将其存储在受保护的数据中心中或隔离网络上。

提示

除非以某种其他方式保护数据,否则决不要将双工协定与不支持安全性或已禁用安全性的绑定一起使用。

系统提供的绑定

WCF 附带有以下绑定。

绑定 配置元素 说明

BasicHttpBinding

<basicHttpBinding>

一个绑定,适用于与符合 WS-Basic Profile 的 Web 服务(例如基于 ASP.NET Web 服务 (ASMX) 的服务)进行的通信。此绑定使用 HTTP 作为传输协议,并使用文本/XML 作为默认的消息编码。

WSHttpBinding

<wsHttpBinding>

一个安全且可互操作的绑定,适合于非双工服务约定。

WSDualHttpBinding

<wsDualHttpBinding>

一个安全且可互操作的绑定,适用于双工服务协定或通过 SOAP 媒介进行的通信。

WSFederationHttpBinding

<wsFederationHttpBinding>

一个支持 WS-Federation 协议的安全的、可互操作的绑定,使联盟中的组织可以高效地对用户进行身份验证和授权。

NetTcpBinding

<netTcpBinding>

一个安全且经过优化的绑定,适用于 WCF 应用程序之间跨计算机的通信。

NetNamedPipeBinding

<netNamedPipeBinding>

一个安全、可靠且经过优化的绑定,适用于 WCF 应用程序之间计算机上的通信。

NetMsmqBinding

<netMsmqBinding>

一个排队绑定,适用于 WCF 应用程序之间的跨计算机的通信。

NetPeerTcpBinding

<netPeerTcpBinding>

一个支持多计算机安全通信的绑定。

MsmqIntegrationBinding

<msmqIntegrationBinding>

一个适合于 WCF 应用程序和现有消息队列应用程序之间的跨计算机通信的绑定。

BasicHttpContextBinding

<basicHttpContextBinding>

一个绑定,适用于与符合 WS-Basic Profile 且允许使用 HTTP Cookie 交换上下文的 Web 服务进行的通信。

NetTcpContextBinding

<netTcpContextBinding>

一个安全且经过优化的绑定,适用于允许使用 SOAP 标头交换上下文的 WCF 应用程序之间跨计算机的通信。

WebHttpBinding

<webHttpBinding>

一个绑定,可用于为通过 HTTP 请求(而不是 SOAP 消息)公开的 WCF Web 服务配置终结点。

WSHttpContextBinding

<wsHttpContextBinding>

一个安全且可互操作的绑定,适用于允许使用 SOAP 标头交换上下文的非双工服务协定。

下表显示系统提供的每个绑定的功能。在表列中可找到绑定;在行中列出了功能,在第二个表中描述了这些功能。下表提供所用绑定缩写的概要。若要选择绑定,应确定哪列能满足所需的所有行中的功能。

绑定 互操作性 安全性(默认) 会话 (默认) 事务 双工 编码(默认) 流 (默认)

BasicHttpBinding

Basic Profile 1.1

(无)、传输、消息、混合

(无)

(无)

n/a

文本、(MTOM)

(缓冲式)

WSHttpBinding

WS

传输、(消息)、混合

(无)、可靠会话、安全会话

(无)、是

n/a

(文本)、MTOM

WSDualHttpBinding

WS

(消息)、无

(可靠会话)、安全会话

(无)、是

(文本)、MTOM

WSFederationHttpBinding

WS-Federation

(消息)、混合、无

(无)、可靠会话、安全会话

(无)、是

(文本)、MTOM

NetTcpBinding

.NET

(传输)、消息、无、混合

(传输)、可靠会话、安全会话

(无)、是

二进制

(缓冲式)

NetNamedPipeBinding

.NET

(传输)、无

无、(传输)

(无)、是

二进制

(缓冲式)

NetMsmqBinding

.NET

消息、(传输)、无

(无)、传输

无、(是)

二进制

NetPeerTcpBinding

对等

(传输)

(无)

(无)

MsmqIntegrationBinding

MSMQ

(传输)

(无)

无、(是)

n/a

n/a

BasicHttpContextBinding

基本配置文件 1.1

(无)、传输、消息、混合

(无)

(无)

n/a

文本、(MTOM)

(缓冲式)

NetTcpContextBinding

.NET

(传输)、消息、无、混合

(传输)、可靠会话、安全会话

(无)、是

二进制

(缓冲式)

WSHttpContextBinding

WS

传输、(消息)、混合

(无)、可靠会话、安全会话

(无)、是

n/a

文本、(MTOM)

下表对上表列出的功能进行说明。

功能 说明

互操作性类型

指定绑定用来确保互操作的协议或技术。

安全性

指定如何保护通道:

  • 无:不保护 SOAP 消息且不验证客户端的身份。
  • 传输:在传输层上满足安全要求。
  • 消息:在消息层上满足安全要求。
  • 混合:声明包含在消息中;完整性和保密性要求由传输层满足。

会话

指定此绑定是否支持会话协定。

Transactions

指定是否启用事务。

双工

指定是否支持双工协定。请注意,此功能要求支持绑定中的会话。

编码

指定消息的网络格式。允许的值包括:

  • 文本:例如 UTF-8。
  • 二进制
  • 消息传输优化机制 (MTOM):一种对 SOAP 信封上下文中二进制 XML 元素高效编码的方法。

指定传入和传出消息是否支持流。使用绑定上的 TransferMode 属性可设置值。允许的值包括:

  • Buffered:请求消息和响应消息都是缓冲式的。
  • Streamed:请求消息和响应消息都是流式的。 
  • StreamedRequest:请求消息是流式的,而响应消息是缓冲式的。 
  • StreamedResponse:请求消息是缓冲式的,而响应消息是流式的。

另请参见

概念

终结点创建概述
使用绑定配置服务和客户端

其他资源

基本 WCF 编程