配置系统提供的绑定
绑定可指定在与终结点通话时所使用的通信机制,并指示如何连接到终结点。 绑定由一些元素组成,这些元素指定如何对 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。 |
会话 | 指定此绑定是否支持会话协定。 |
事务 | 指定是否启用事务。 |
双工 | 指定是否支持双工协定。 注意,此功能要求在绑定中支持会话。 |
流式处理 | 指定是否支持消息流处理。 |