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

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

Определение привязки

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

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

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

Кодировка
Определяет кодировку сообщений, например text/XML, двоичный или механизм оптимизации передачи сообщений (MTOM), который определяет, как сообщения представлены в виде потоков байтов в проводной сети.

Привязки System-Provided

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

  • BasicHttpBinding: привязка протокола HTTP, подходящая для подключения к веб-службам, соответствующей спецификации базового профиля WS-I версии 1.1 (например, веб-служб ASP.NET [ASMX]).

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

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

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

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

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

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

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

Использование привязок приводит к двум основным шагам:

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

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

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

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

См. также