配置系统提供的绑定

绑定可指定在与终结点通话时所使用的通信机制,并指示如何连接到终结点。 绑定由一些元素组成,这些元素指定如何对 Windows Communication Foundation (WCF) 通道进行分层以提供所需的通信功能。 绑定包含三种类型的元素:

  • 协议通道绑定元素,用于确定要用于发送到终结点的消息的安全性、可靠性、上下文流设置或用户定义的协议。

  • 传输通道绑定元素,用于确定在向终结点发送消息时要使用的基础传输协议,例如 TCP 或 HTTP。

  • 消息编码绑定元素,用于确定要对发送到终结点的消息使用的网络编码,例如,文本/XML、二进制或消息传输优化机制 (MTOM)。

此主题介绍了系统提供的所有 Windows Communication Foundation (WCF) 绑定。 如果这些绑定没有一个完全符合应用程序的需求,则可以使用 CustomBinding 类创建一个绑定。 有关创建自定义绑定的详细信息,请参阅自定义绑定

重要

选择启用了安全性的绑定。 默认情况下,除 BasicHttpBinding 绑定之外的所有绑定都启用了安全性。 如果不选择安全绑定或禁用了安全性,请确保以某种其他方式保护网络交换,例如在安全的数据中心或独立的网络上进行网络交换。

重要

不要将双工协定用于不支持安全性或已禁用安全性的绑定,除非通过其他一些方式来确保网络交换的安全。

系统提供的绑定

下面的绑定随 WCF 一起提供。

绑定 配置元素 说明
BasicHttpBinding <basicHttpBinding> 一个绑定,适用于与符合 WS-Basic Profile 的 Web 服务(例如基于 ASP.NET Web 服务 (ASMX) 的服务)进行的通信。 此绑定使用 HTTP 作为传输协议,并使用文本/XML 作为默认的消息编码。
WSHttpBinding <wsHttpBinding> 一个安全且可互操作的绑定,适合于非双工服务约定。
WS2007HttpBinding <ws2007HttpBinding> 一个安全且可互操作的绑定,可为 Security, ReliableSession 的正确版本和 TransactionFlow 绑定元素提供支持。
WSDualHttpBinding <wsDualHttpBinding> 一个安全且可互操作的绑定,适用于双工服务协定或通过 SOAP 媒介进行的通信。
WSFederationHttpBinding <wsFederationHttpBinding> 一个安全且可互操作的绑定,支持 WS 联合协议并使联合中的组织可以高效地对用户进行身份验证和授权。
WS2007FederationHttpBinding <ws2007FederationHttpBinding> 一个安全且可互操作的绑定,它派生自 WS2007HttpBinding并支持联合安全性。
NetTcpBinding <netTcpBinding> 一个安全且经过优化的绑定,适用于 WCF 应用程序之间跨计算机的通信。
NetNamedPipeBinding <netNamedPipeBinding> 一个安全、可靠且经过优化的绑定,适用于 WCF 应用程序之间计算机上的通信。
NetMsmqBinding <netMsmqBinding> 一个排队绑定,适用于 WCF 应用程序之间的计算机间的通信。
NetPeerTcpBinding <netPeerTcpBinding> 一个支持多计算机安全通信的绑定。
WebHttpBinding <webHttpBinding> 一个绑定,可用于为通过 HTTP 请求(而不是 SOAP 消息)公开的 WCF Web 服务配置终结点。
MsmqIntegrationBinding <msmqIntegrationBinding> 一个绑定,适用于 WCF 应用程序和现有消息队列(也称为 MSMQ)应用程序之间跨计算机的通信。

绑定功能

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

绑定 互操作性 安全模式(默认) 会话

(默认值)
事务 双工
BasicHttpBinding Basic Profile 1.1(基本配置文件 1.1) (无)、传输、消息、混合 无、(无) (无) 不适用
WSHttpBinding WS 无、传输、(消息)、混合 (无)、传输、可靠会话 (无)、是 不适用
WS2007HttpBinding WS-Security、WS-Trust、WS-SecureConversation、WS-SecurityPolicy 无、传输、(消息)、混合 (无)、传输、可靠会话 (无)、是 不适用
WSDualHttpBinding WS 无、(消息) (可靠会话) (无)、是
WSFederationHttpBinding WS-Federation 无、(消息)、混合 (无)、可靠会话 (无)、是
WS2007FederationHttpBinding WS-Federation 无、(消息)、混合 (无)、可靠会话 (无)、是
NetTcpBinding .NET 无、(传输)、消息、

Mixed
可靠对话、(传输) (无)、是
NetNamedPipeBinding .NET 无、

(传输)
无、(传输) (无)、是
NetMsmqBinding .NET 无、消息、(传输)、两者 (无) (无)、是
NetPeerTcpBinding 对等 无、消息、(传输)、混合 (无) (无)
WebHttpBinding .Net 无、传输、TransportCredentialOnly (无) (无) 不适用
MsmqIntegrationBinding MSMQ 无、(传输) (无) (无)、是 不适用

下表解释上一个表中的功能。

Feature 说明
互操作性类型 指定绑定用来确保互操作的协议或技术。
安全性 指定如何保护通道:

- 无:不保护 SOAP 消息且不验证客户端的身份。
- 传输:在传输层上满足安全要求。
- 消息:在消息层上满足安全要求。
- 混合:此安全模式称为 TransportWithMessageCredentials。 此模式在消息级别上处理凭据,并由传输层来满足完整性和保密性需求。
- 两者:同时使用消息级安全性和传输级安全性。 此功能仅可用于 NetMsmqBinding
会话 指定此绑定是否支持会话协定。
事务 指定是否启用事务。
双工 指定是否支持双工协定。 注意,此功能要求在绑定中支持会话。
流式处理 指定是否支持消息流处理。

请参阅