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


Общие сведения о привязках Windows Communication Foundation

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

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

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

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

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

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

Элементы привязки

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

Привязки System-Provided

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

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

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

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

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

  • NetTcpBinding: эта привязка обеспечивает более высокую производительность, чем привязки HTTP и идеально подходит для использования в локальной сети.

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

Использование собственных привязок

Если ни одна из предоставленных системой привязок не имеет правильного сочетания функций, необходимых приложению-службе, можно создать собственную привязку. Это можно сделать двумя способами. Вы можете создать новую привязку из существующих элементов привязки с помощью CustomBinding объекта или создать полностью определяемую пользователем привязку, исходя из привязки Binding . Дополнительные сведения о создании собственной привязки с помощью этих двух подходов см. в разделах «Пользовательские привязки» и «Создание User-Defined привязки».

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

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

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

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

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

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

См. также