Общие сведения о привязках Windows Communication Foundation
Привязки — это объекты, которые используются для указания сведений о связи, необходимых для подключения к конечной точке службы Windows Communication Foundation (WCF). Каждая конечная точка в службе WCF требует правильной привязки. В этом разделе описаны типы сведений о взаимодействии, которые определяют привязки, элементы привязки, какие привязки включены в WCF и как можно указать привязку для конечной точки.
Что определяет привязка
Информация в привязке может быть очень простой или очень сложной. Самые простые привязки указывают только транспортный протокол (такой как HTTP), который должен использоваться для подключения к конечной точке. Более того, информация, содержащая привязку, содержащую сведения о том, как подключиться к конечной точке, попадает в одну из следующих категорий:
Протоколы
Определяют используемый механизм безопасности: возможность надежного обмена сообщениями или параметры потока контекста транзакций.
Кодирование
Определяет используемую в сообщениях кодировку (например, текст или двоичное кодирование).
Транспорт
Определяет основной используемый транспортный протокол (например, TCP или HTTP).
Элементы привязки
По сути, привязка состоит из упорядоченного стека элементов привязки, каждый из которых задает часть информации о связи, необходимой для подключения к конечной точке службы. Два нижних уровня стека являются обязательными. В основании стека находится элемент привязки транспорта, над ним - элемент, содержащий спецификации кодирования сообщения. Необязательные элементы привязки, задающие другие протоколы взаимодействия, располагаются над этими двумя обязательными элементами. Дополнительные сведения об этих элементах привязки и их правильном порядке см. в разделе "Пользовательские привязки".
Привязки, предоставляемые системой
Информация в привязке может быть сложной, а некоторые параметры могут быть несовместимыми с другими. По этой причине WCF включает набор системных привязок. Эти привязки удовлетворяют большинство требований приложения. В следующих классах представлены некоторые примеры привязок, предоставляемых системой.
BasicHttpBinding: привязка протокола HTTP, которая подходит для подключения к веб-службам, соответствующим спецификации WS-I Basic Profile (например, службы на основе веб-службы ASP.NET).
WSHttpBinding: привязка с возможностью взаимодействия, которая подходит для подключения к конечным точкам, соответствующим протоколам WS-*.
NetNamedPipeBinding: использует платформа .NET Framework для подключения к другим конечным точкам WCF на том же компьютере.
NetMsmqBinding: использует платформа .NET Framework для создания подключений к очередям сообщений с другими конечными точками WCF.
NetTcpBinding: эта привязка обеспечивает более высокую производительность, чем привязки HTTP и идеально подходит для использования в локальной сети.
Полный список со описаниями всех предоставленных WCF привязок см. в разделе "Предоставленные системой привязки".
Использование собственных привязок
Если ни одна из предоставляемых системой привязок не имеет требуемого приложением службы сочетания возможностей, можно создать собственную привязку. Это можно сделать двумя способами. Можно создать новую привязку из уже имеющихся элементов привязки с помощью объекта CustomBinding или создать полностью пользовательскую привязку, наследуемую от привязки Binding. Дополнительные сведения о создании собственной привязки с помощью этих двух подходов см. в разделе "Пользовательские привязки " и "Создание пользовательских привязок".
Использование привязок
Использование привязок включает два основных этапа.
Выбор или определение привязки. Самый простой способ — выбрать одну из системных привязок, включенных в WCF, и использовать ее с параметрами по умолчанию. Также можно выбрать предоставляемую системой привязку и сбросить значения ее свойств таким образом, чтобы они соответствовали нужным требованиям. Кроме того, можно создать пользовательскую или определяемую пользователем привязку с расширенными возможностями управления и настройки.
Создайте конечную точку, которая использует выбранную или определенную привязку.
Код и конфигурация
Определить привязки можно двумя способами: через код или конфигурацию. Применять эти два способа можно независимо от того, какая привязка используется - предоставляемая системой или пользовательская. Как правило, использование кода позволяет полностью управлять определением привязки во время разработки. С другой стороны, использование конфигурации позволяет системным администратору или пользователю службы WCF или клиенту изменять параметры привязки без необходимости повторной компиляции приложения-службы. Эта гибкость часто является желательной, так как нет способа прогнозирования конкретных требований к компьютеру, на которых развертывается приложение WCF. Если не указывать привязку (и адрес) в коде, их можно изменять без повторной компиляции или повторного развертывания приложения. Обратите внимание, что привязки, определенные в коде, создаются после задания привязок в конфигурации, что позволяет определенным в коде привязкам переопределять любые привязки, определенные в конфигурации.