终结点:地址、绑定和协定

与 Windows Communication Foundation (WCF) 服务的所有通信都通过服务的终结点进行。 利用终结点,客户端可访问 WCF 服务提供的功能。

每个终结点包含四个属性:

  • 一个指示可以查找终结点的位置的地址。

  • 一个指定客户端如何与终结点进行通信的绑定。

  • 一个标识可用操作的协定。

  • 一组指定终结点的本地实现细节的行为。

本主题讨论此终结点结构并说明其在 WCF 对象模型中是如何表示的。

终结点的结构

每个终结点由以下内容组成:

  • 地址:地址唯一地标识终结点,并告诉服务的潜在客户其所在的位置。 在 WCF 对象模型中,地址由 EndpointAddress 类表示。 一个 EndpointAddress 类包含:

    • 一个表示服务地址的 Uri 属性。

    • 一个表示服务安全标识和可选消息头集合的 Identity 属性。 可选消息头用于提供其他更多详细寻址信息来标识终结点或与终结点交互。

    有关详细信息,请参阅指定终结点地址

  • 绑定:绑定指定如何与终结点进行通信。 这包括:

    • 要使用的传输协议(例如,TCP 或 HTTP)。

    • 要用于消息的编码(例如,文本或二进制)。

    • 必需的安全要求(例如,SSL 或 SOAP 消息安全)。

    有关详细信息,请参阅 WCF 绑定概述。 绑定在 WCF 对象模型中由抽象基类 Binding 表示。 大多数情况下,用户可以使用系统提供的绑定之一。 有关详细信息,请参阅系统提供的绑定

  • 协定:协定概述了终结点向客户端公开的功能。 协定指定:

    • 客户端可以调用的操作。

    • 消息的窗体。

    • 调用操作所需的输入参数或数据的类型。

    • 客户端可以预期的处理或响应消息的类型。

    有关定义协定的详细信息,请参阅设计服务协定

  • 行为:可以使用终结点行为来自定义服务终结点的本地行为。 终结点行为是通过参与构建 WCF 运行时的过程来实现这一点的。 终结点行为的一个示例是 ListenUri 属性,可以利用该属性指定与 SOAP 或 Web 服务描述语言 (WSDL) 地址不同的侦听地址。 有关详细信息,请参阅 ClientViaBehavior

定义终结点

可以通过使用代码以强制方式或通过配置以声明方式指定服务的终结点。 有关详细信息,请参阅如何:在配置中创建服务端点如何:在代码中创建服务终结点

本节内容

本节说明了绑定、终结点和地址的用途,演示了如何配置绑定和终结点,并演示了如何使用 ClientVia 行为和 ListenUri 属性。

地址
描述终结点如何在 WCF 中寻址。

绑定
描述如何使用绑定指定客户端与服务相互通信所需的传输、编码和协议详细信息。

协定
描述协定如何定义服务的方法。

如何:在配置中创建服务终结点
描述如何在配置中创建服务终结点。

如何:在代码中创建服务终结点
描述如何在代码中创建服务终结点。

如何:使用 Svcutil.exe 验证已编译的服务代码
介绍如何在不使用 ServiceModel 元数据实用工具 (Svcutil.exe) 承载服务的情况下检测服务实现和配置中的错误。

请参阅