Конечные точки: адреса, привязки и контракты
Вся связь со службой Windows Communication Foundation (WCF) осуществляется через конечные точки службы. Конечные точки обеспечивают доступ клиентов к функциональным возможностям службы WCF.
Каждая конечная точка состоит из четырех свойств:
адрес, показывающий, где можно найти конечную точку;
привязка, показывающая, как клиент может связаться с конечной точкой;
контракт, определяющий доступные операции;
набор поведений, задающих сведения о локальной реализации конечной точки.
В настоящем разделе описана структура конечной точки и объясняется, каким образом она представлена в объектной модели WCF.
Структура конечной точки
Каждая конечная точка состоит из следующего.
Адрес: адрес однозначно определяет конечную точку и указывает потенциальным потребителям на место расположения службы. В объектной модели WCF адрес представлен классом EndpointAddress. Класс EndpointAddress содержит следующее.
Свойство Uri, представляющее адрес службы.
Свойство Identity, представляющее удостоверение безопасности службы и коллекцию необязательных заголовков сообщений. Необязательные заголовки сообщений используются для вывода дополнительной и более подробной информации, необходимой для идентификации конечной точки или взаимодействия с ней.
Дополнительные сведения см. в разделе Задание адреса конечной точки.
Привязка. Привязка задает способ связи клиента с конечной точкой. В том числе следующее:
используемый транспортный протокол (например, TCP или HTTP);
используемую в сообщениях кодировку (например, текст или двоичное кодирование);
необходимые требования безопасности (например, безопасность сообщений SSL или SOAP).
Дополнительные сведения см. в разделе Общие сведения о привязках Windows Communication Foundation. Привязка в объектной модели WCF представлена абстрактным базовым классом Binding. В большинстве сценариев пользователи могут использовать только одну из предусмотренных системой привязок. Дополнительные сведения см. в разделе Привязки, предоставляемые системой.
Контракты. Контракты показывают, какие функциональные возможности дает клиенту конечная точка. В контракте задается следующее:
операции, которые могут быть вызваны клиентом;
форма сообщения;
тип входных параметров или данных, требуемых для вызова операции;
тип обработки или ответного сообщения, который может ожидать клиент.
Дополнительные сведения об определении контракта см. в Создание контрактов служб.
Поведения. Поведения конечной точки можно использовать для настройки локального поведения конечной точки службы. Поведения конечной точки выполняют это путем участия в процессе создания среды выполнения WCF. Примером поведения является свойство ListenUri, позволяющее указывать отличный от адреса SOAP или WSDL адрес прослушивания. Дополнительные сведения см. в разделе ClientViaBehavior.
Определение конечных точек
Адрес конечной точки службы можно задать императивно, с помощью кода, или декларативно, с помощью конфигурации. Дополнительные сведения см. в разделе Практическое руководство. Создание конечной точки службы в конфигурации и Как создать конечную точку службы в коде.
В этом разделе
В данном разделе объясняется назначение привязок, конечных точек и адресов; показано, как конфигурировать привязку и конечную точку, и демонстрируется, как использовать поведение ClientVia и свойство ListenUri.
- Адреса конечных точек
Описывается, как выполняется обращение к конечным точкам в WCF.
- Привязки Windows Communication Foundation
Описывается, как привязки используются для указания транспорта, кодировки и данных протокола, требуемых для связи клиентов и служб.
- Контракты
Описывается, как контакты определяют методы службы.
- Практическое руководство. Создание конечной точки службы в конфигурации
Описывается, как создать конечную точку службы в конфигурации.
- Как создать конечную точку службы в коде
Описывается, как создать конечную точку службы в коде.
- Как использовать программу Svcutil.exe для проверки скомпилированного кода службы
Описывается, как находить ошибки в реализациях службы и конфигурациях, не размещая службу при помощи Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe).