使用绑定配置服务和客户端

绑定是指定连接到终结点所需的通信详细信息的对象。 更具体地说,绑定包含用于创建客户端或服务运行时的配置信息,具体方法是定义传输、线路格式(消息编码)和用于相应终结点或客户端通道的协议。 若要创建正常运行的 Windows Communication Foundation (WCF) 服务,服务中的每个终结点都需要绑定。 本主题介绍什么是绑定、定义绑定的方式以及为终结点指定特定绑定的方式。

绑定所定义的内容

绑定中的信息可能非常基本或非常复杂。 最基本的绑定仅指定必须用于连接到终结点的传输协议(如 HTTP)。 更通常,绑定包含有关如何连接到终结点的信息属于下表中的一个类别。

协议
确定所使用的安全机制类型,可以是可靠的消息传送功能,也可以是事务上下文流设置。

运输
确定要使用的基础传输协议(例如 TCP 或 HTTP)。

编码
确定消息编码,例如文本/XML、二进制或消息传输优化机制(MTOM),该机制确定消息在网络上如何表示为字节流。

系统提供的绑定

WCF 包括一组系统提供的绑定,旨在涵盖大多数应用程序要求和方案。 以下类表示系统提供的绑定的一些示例:

  • BasicHttpBinding:适用于连接到符合 WS-I 基本配置文件 1.1 规范的 Web 服务的 HTTP 协议绑定(例如,基于 ASP.NET Web 服务 [ASMX] 的服务)。

  • WSHttpBinding:适用于连接到符合 Web 服务规范协议的终结点的 HTTP 协议绑定。

  • NetNamedPipeBinding:将 .NET 二进制编码和组帧技术与 Windows 命名管道传输一起使用,以连接到同一计算机上的其他 WCF 终结点。

  • NetMsmqBinding:将 .NET 的二进制编码和帧技术与消息队列(也称为 MSMQ)结合使用,以创建与其他 WCF 终结点的消息排队连接。

有关系统提供的绑定的完整列表及其说明,请参阅 System-Provided 绑定

自定义绑定

如果系统提供的绑定集合没有服务应用程序所需的功能的正确组合,则可以创建绑定 CustomBinding 。 有关绑定元素 CustomBinding 的详细信息,请参阅 <customBinding>自定义绑定

使用绑定

使用绑定需要执行两个基本步骤:

  1. 选择或定义绑定。 最简单的方法是选择系统提供的绑定之一并使用其默认设置。 还可以选择系统提供的绑定并重置其属性值以满足你的要求。 或者,可以创建自定义绑定,并根据需要设置每个属性。

  2. 创建使用此绑定的终结点。

代码和配置

可以通过代码或配置定义或配置绑定。 这两种方法不受所用绑定类型的影响,例如,无论您使用的是系统提供的绑定还是CustomBinding的绑定。 通常,使用代码可以完全控制编译时绑定的定义。 另一方面,使用配置允许系统管理员或 WCF 服务或客户端的用户更改绑定的参数。 这种灵活性通常是可取的,因为无法预测要将 WCF 应用程序部署到的特定计算机要求和网络条件。 将绑定(和寻址)信息与代码分离后,管理员可以更改绑定详细信息,而无需重新编译或重新部署应用程序。 请注意,如果绑定在代码中定义,它将覆盖配置文件中所做的任何基于配置的定义。 有关这些方法的示例,请参阅以下主题:

另请参阅