Конечные точки: адреса, привязки и контракты

Все взаимодействие со службой Windows Communication Foundation (WCF) осуществляется через конечные точки службы. Конечные точки предоставляют клиентам доступ к функциям, предлагаемым службой WCF.

Каждая конечная точка состоит из четырех свойств:

  • Адрес, указывающий, где можно найти конечную точку.

  • Привязка, указывающая, как клиент может взаимодействовать с конечной точкой.

  • Контракт, определяющий доступные операции.

  • Набор поведения, указывающий сведения о локальной реализации конечной точки.

В этом разделе описывается эта структура конечной точки и объясняется, как она представлена в объектной модели WCF.

Структура конечной точки

Каждая конечная точка состоит из следующих элементов:

  • Адрес: адрес однозначно идентифицирует конечную точку и сообщает потенциальным потребителям службы, где она находится. Он представлен в объектной модели WCF классом EndpointAddress . Класс EndpointAddress содержит:

    • Свойство Uri , представляющее адрес службы.

    • Свойство Identity , представляющее удостоверение безопасности службы и коллекцию необязательных заголовков сообщений. Необязательные заголовки сообщений используются для предоставления дополнительных и более подробных сведений об адресации для идентификации или взаимодействия с конечной точкой.

    Дополнительные сведения см. в разделе "Указание адреса конечной точки".

  • Привязка: привязка указывает, как взаимодействовать с конечной точкой. Сюда входит следующее:

    • Транспортный протокол, используемый (например, TCP или HTTP).

    • Кодировка, используемая для сообщений (например, текст или двоичный файл).

    • Необходимые требования к безопасности (например, безопасность SSL или SOAP).

    Дополнительные сведения см. в разделе "Общие сведения о привязках WCF". Привязка представлена в объектной модели WCF абстрактным базовым классом Binding. В большинстве случаев пользователи могут использовать одну из системных привязок. Дополнительные сведения см. в разделе System-Provided Привязки.

  • Контракты: контракт описывает, какие функции конечная точка предоставляет клиенту. Контракт указывает:

    • Какие операции может вызывать клиент.

    • Форма сообщения.

    • Тип входных параметров или данных, необходимых для вызова операции.

    • Какой тип обработки или ответа может ожидать клиент.

    Дополнительные сведения об определении контракта см. в разделе "Проектирование контрактов службы".

  • Поведение. Вы можете использовать поведение конечных точек для настройки локального поведения конечной точки службы. Поведение конечных точек достигается путем участия в процессе создания среды выполнения WCF. Примером поведения конечной точки является ListenUri свойство, которое позволяет указать другой адрес прослушивания, отличный от адреса языка описания SOAP или веб-служб (WSDL). Дополнительные сведения см. в разделе ClientViaBehavior.

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

Конечную точку для службы можно указать либо императивно с помощью кода, либо декларативно с помощью конфигурации. Дополнительные сведения см. в статье "Практическое руководство. Создание конечной точки службы в конфигурации и практическое руководство. Создание конечной точки службы в коде".

В этом разделе

В этом разделе объясняется назначение привязок, конечных точек и адресов; показывает, как настроить привязку и конечную точку; и демонстрирует, как использовать ClientVia поведение и ListenUri свойство.

Адреса
Описывает, как обрабатываются конечные точки в WCF.

Привязки
Описывает, как привязки используются для указания сведений о транспорте, кодировке и протоколе, необходимых для взаимодействия между клиентами и службами.

Контракты
Описывает, как контракты определяют методы службы.

Как создать конечную точку службы в конфигурации
Описывает, как создать конечную точку службы в конфигурации.

Практическое руководство. Создание конечной точки службы в коде
Описывает создание конечной точки службы в коде.

Практическое руководство. Использование программы Svcutil.exe для проверки скомпилированного кода службы
Описывает, как обнаруживать ошибки в реализациях и конфигурациях служб без размещения службы с помощью средства служебной программы метаданных ServiceModel (Svcutil.exe).

См. также