Использование привязок для настройки служб и клиентов

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

Что определяет привязка

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

  • Протоколы
    Определяет используемый механизм безопасности: способность надежного обмена сообщениями или настройки потока контекста транзакции.
  • Транспорт
    Определяет основной используемый транспортный протокол (например, TCP или HTTP).
  • Кодирование
    Определяет кодирование сообщения, например кодирование text/XML, двоичное кодирование или кодирование подсистемы оптимизации передачи сообщений (MTOM), которое определяет, каким образом сообщения представляются в байтовых потоках в сети.

Привязки, предоставляемые системой

WCF включает набор привязок, предоставляемых системой, которые разработаны для удовлетворения большинства требований и сценариев приложения. В следующих классах представлены некоторые примеры привязок, предоставляемых системой.

  • BasicHttpBinding: привязка по протоколу HTTP, которая подходит для взаимодействия с веб-службами, совместимыми со спецификацией WS-I Basic Profile 1.1 (например, службами, основанными на веб-службах ASP.NET Web (ASMX).

  • WsHttpBinding: привязка по протоколу HTTP, которая подходит для взаимодействия с конечными точками, которые соответствуют протоколам спецификаций веб-служб.

  • NetNamedPipeBinding: использует .NET двоичное кодирование и технологии формирования кадров совместно с транспортом именованных каналов Windows для подключения к другим конечным точкам WCF на том же компьютере.

  • NetMsmqBinding: использует двоичное кодирование .NET и технологии формирования кадров совместно с очередью сообщений (также известной как MSMQ) для создания подключений с очередью сообщений с другими конечными точками WCF.

Полный список предоставляемых системой привязок с описаниями см. в разделе Привязки, предоставляемые системой.

Пользовательские привязки

Если в коллекции привязок, предоставляемых системой, нет нужной комбинации функций, которые требуются для приложения службы, можно создать привязку CustomBinding. Дополнительные сведения элементах привязки CustomBinding см. <customBinding>.

Использование привязок

Использование привязок включает два основных этапа.

  1. Выбор или определение привязки. Самый простой способ — выбрать одну из предоставляемых системой привязок и использовать ее настройки по умолчанию. Также можно выбрать предоставляемую системой привязку и сбросить значения ее свойств таким образом, чтобы они соответствовали нужным требованиям. Кроме того, можно создать пользовательскую привязку и задать как требуется каждое свойство.

  2. Создать конечную точку, которая использует данную привязку.

Код и конфигурация

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

См. также

Задачи

Как задать привязку службы в конфигурации
Как задать привязку службы в коде
Как указывать привязки клиента в конфигурации
Как задать привязку клиента в коде

Основные понятия

Общие сведения о создании конечных точек