Поделиться через


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

Привязки - это объекты, которые указывают подробные сведения о связи, требуемые для подключения к конечной точке. В частности, привязки содержат информацию о конфигурации, используемую для создания среды выполнения клиента или службы путем определения подробной информации о транспорте, форматах подключения (кодировка сообщения) и протоколах, используемых для соответствующей конечной точки или канала клиента. Для создания работающей службы 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> и Custom Bindings.

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

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

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

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

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

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

См. также