Конечные точки: адреса, привязки и контрактыEndpoints: Addresses, Bindings, and Contracts

Весь обмен данными со службой Windows Communication Foundation (WCF) осуществляется через конечные точки службы.All communication with a Windows Communication Foundation (WCF) service occurs through the endpoints of the service. Конечные точки предоставляют клиентам доступ к функциональным возможностям службы WCF.Endpoints provide clients access to the functionality offered by a WCF service.

Каждая конечная точка состоит из четырех свойств:Each endpoint consists of four properties:

  • адрес, показывающий, где можно найти конечную точку;An address that indicates where the endpoint can be found.

  • привязку, показывающую, как клиент может связаться с конечной точкой;A binding that specifies how a client can communicate with the endpoint.

  • контракт, определяющий доступные операции;A contract that identifies the operations available.

  • набор поведений, задающих сведения о локальной реализации конечной точки.A set of behaviors that specify local implementation details of the endpoint.

В этом разделе рассматривается структура этой конечной точки и объясняется, каким образом она представлена в объектной модели WCF.This topic discusses this endpoint structure and explains how it is represented in the WCF object model.

Структура конечной точкиThe Structure of an Endpoint

Каждая конечная точка состоит из следующего.Each endpoint consists of the following:

  • Адрес: Адрес, уникально идентифицирующего конечную точку и указывает потенциальным потребителям службы, в котором он находится.Address: The address uniquely identifies the endpoint and tells potential consumers of the service where it is located. Он представлен в объектной модели WCF EndpointAddress класса.It is represented in the WCF object model by the EndpointAddress class. Класс EndpointAddress содержит следующее.An EndpointAddress class contains:

    • Свойство Uri, представляющее адрес службы.A Uri property, which represents the address of the service.

    • Свойство Identity, представляющее удостоверение безопасности службы и коллекцию необязательных заголовков сообщений.An Identity property, which represents the security identity of the service and a collection of optional message headers. Необязательные заголовки сообщений используются для вывода дополнительной и более подробной информации, необходимой для идентификации конечной точки или взаимодействия с ней.The optional message headers are used to provide additional and more detailed addressing information to identify or interact with the endpoint.

    Дополнительные сведения см. в разделе Задание адреса конечной точки.For more information, see Specifying an Endpoint Address.

  • Привязка: Привязка задает способ связи клиента с конечной точкой.Binding: The binding specifies how to communicate with the endpoint. В том числе следующее:This includes:

    • используемый транспортный протокол (например, TCP или HTTP);The transport protocol to use (for example, TCP or HTTP).

    • используемую в сообщениях кодировку (например, текст или двоичное кодирование);The encoding to use for the messages (for example, text or binary).

    • необходимые требования безопасности (например, безопасность сообщений SSL или SOAP).The necessary security requirements (for example, SSL or SOAP message security).

    Дополнительные сведения см. в разделе Общие сведения о привязках WCF.For more information, see WCF Bindings Overview. Привязка представлено в объектной модели WCF с абстрактный базовый класс Binding.A binding is represented in the WCF object model by the abstract base class Binding. В большинстве сценариев пользователи могут использовать только одну из предусмотренных системой привязок.For most scenarios, users can use one of the system-provided bindings. Дополнительные сведения см. в разделе System-Provided Bindings.For more information, see System-Provided Bindings.

  • Контракты: Контракты показывают, какие функциональные возможности, конечная точка предоставляет клиенту.Contracts: The contract outlines what functionality the endpoint exposes to the client. В контракте задается следующее:A contract specifies:

    • операции, которые могут быть вызваны клиентом;What operations can be called by a client.

    • форма сообщения;The form of the message.

    • тип входных параметров или данных, требуемых для вызова операции;The type of input parameters or data required to call the operation.

    • тип обработки или ответного сообщения, который может ожидать клиент.What type of processing or response message the client can expect.

    Дополнительные сведения об определении контракта см. в разделе Designing Service Contracts.For more information about defining a contract, see Designing Service Contracts.

  • Поведения. Поведения конечных точек можно использовать для настройки локального поведения конечной точки службы.Behaviors: You can use endpoint behaviors to customize the local behavior of the service endpoint. Поведения конечной точки выполняют это путем участия в процессе создания среды выполнения WCF.Endpoint behaviors achieve this by participating in the process of building a WCF runtime. Примером поведения является свойство ListenUri, позволяющее указывать отличный от адреса SOAP или WSDL адрес прослушивания.An example of an endpoint behavior is the ListenUri property, which allows you to specify a different listening address than the SOAP or Web Services Description Language (WSDL) address. Дополнительные сведения см. в разделе ClientViaBehavior.For more information, see ClientViaBehavior.

Определение конечных точекDefining Endpoints

Адрес конечной точки службы можно задать императивно с помощью кода или декларативно с помощью конфигурации.You can specify the endpoint for a service either imperatively using code or declaratively through configuration. Дополнительные сведения см. в разделе Практическое руководство. Создать конечную точку службы в конфигурации и как: Создать конечную точку службы в коде.For more information, see How to: Create a Service Endpoint in Configuration and How to: Create a Service Endpoint in Code.

В этом разделеIn This Section

В данном разделе объясняется назначение привязок, конечных точек и адресов; показано, как конфигурировать привязку и конечную точку, и демонстрируется, как использовать поведение ClientVia и свойство ListenUri.This section explains the purpose of bindings, endpoints, and addresses; shows how to configure a binding and an endpoint; and demonstrates how to use the ClientVia behavior and ListenUri property.

АдресаAddresses
Описывает, как конечные точки адресуются в WCF.Describes how endpoints are addressed in WCF.

ПривязкиBindings
Описывается, как привязки используются для указания транспорта, кодировки и данных протокола, требуемых для связи клиентов и служб.Describes how bindings are used to specify the transport, encoding, and protocol details required for clients and services to communicate with each other.

КонтрактыContracts
Описывается, как контакты определяют методы службы.Describes how contracts define the methods of a service.

Практическое руководство. Создать конечную точку службы в конфигурацииHow to: Create a Service Endpoint in Configuration
Описывается, как создать конечную точку службы в конфигурации.Describes how to create a service endpoint in configuration.

Практическое руководство. Создать конечную точку службы в кодеHow to: Create a Service Endpoint in Code
Описывается, как создать конечную точку службы в коде.Describes how to create a service endpoint in code.

Практическое руководство. Использовать Svcutil.exe для проверки скомпилированного кода службыHow to: Use Svcutil.exe to Validate Compiled Service Code
Описывает, как для обнаружения ошибок в реализациях службы и конфигурациях, не размещая службу при помощи ServiceModel Metadata Utility Tool (Svcutil.exe).Describes how to detect errors in service implementations and configurations without hosting the service using the ServiceModel Metadata Utility Tool (Svcutil.exe).

См. такжеSee also