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

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

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

  • Элемент транспорта определяет основной транспортный протокол, используемый при отправке сообщений конечной точке, например TCP или HTTP.

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

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

Безопасная привязка с возможностью взаимодействия, которая поддерживает протокол WS-Federation, позволяет организациям в федерации эффективно проверять подлинность пользователей и авторизовать их.

ms730879.Important(ru-ru,VS.100).gif Примечание
Следует всегда выбирать привязку, предусматривающую функции безопасности. По умолчанию функции безопасности включены во всех привязках, за исключением элемента <basicHttpBinding>. При выборе привязки без функций безопасности или при отключении функций безопасности обязательно защищайте данные каким-либо иным способом, например путем хранения в защищенном центре обработки данных или в изолированной сети.

ms730879.Important(ru-ru,VS.100).gif Примечание
Не используйте дуплексные контракты с привязками, которые не поддерживают безопасность или в которых отключены функции безопасности, если данные не защищены каким-либо иным образом.

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

В состав WCF входят следующие привязки.

Привязка Элемент конфигурации Описание

BasicHttpBinding

<basicHttpBinding>

Привязка, которая подходит для взаимодействия с веб-службами, совместимыми с WS-Basic Profile, например службами, основанными на веб-службах ASP.NET Web (ASMX). Эта привязка использует HTTP как транспорт и формат text/XML как кодирование сообщений по умолчанию.

WSHttpBinding

<wsHttpBinding>

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

WSDualHttpBinding

<wsDualHttpBinding>

Безопасная привязка с возможностью взаимодействия, которая подходит для дуплексных контрактов службы или взаимодействия через посредников SOAP.

WSFederationHttpBinding

<wsFederationHttpBinding>

Безопасная привязка с возможностью взаимодействия, которая поддерживает протокол WS-Federation, позволяющий организациям в федерации эффективно проверять подлинность пользователей и авторизовать их.

NetTcpBinding

<netTcpBinding>

Безопасная и оптимизированная привязка, которая подходит для обмена данными между приложениями WCF на разных компьютерах.

NetNamedPipeBinding

<netNamedPipeBinding>

Безопасная, надежная и оптимизированная привязка, которая подходит для обмена данными между приложениями WCF на одном компьютере.

NetMsmqBinding

<netMsmqBinding>

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

NetPeerTcpBinding

<netPeerTcpBinding>

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

MsmqIntegrationBinding

<msmqIntegrationBinding>

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

BasicHttpContextBinding

<basicHttpContextBinding>

Привязка, которая подходит для обмена данными с веб-службами, совместимыми с WS-Basic Profile, и позволяет использовать для обмена контекстом файлы cookie HTTP.

NetTcpContextBinding

<netTcpContextBinding>

Безопасная и оптимизированная привязка, которая подходит для обмена данными между приложениями WCF на разных компьютерах и позволяет использовать для обмена контекстом заголовки SOAP.

WebHttpBinding

<webHttpBinding>

Привязка, используемая при настройке конечных точек для веб-служб WCF, предоставляемых через HTTP-запросы, а не через сообщения SOAP.

WSHttpContextBinding

<wsHttpContextBinding>

Безопасная привязка с возможностью взаимодействия, которая подходит для недуплексных контрактов служб и позволяет использовать для обмена контекстом заголовки SOAP.

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

Привязка Взаимодействие Режим безопасности (по умолчанию) Сеансы (по умолчанию) Транзакции Дуплексная Кодирование (по умолчанию) Потоковая передача (по умолчанию)

BasicHttpBinding

Basic Profile 1.1

(Нет), транспорта, сообщения, смешанный

(Нет)

(Нет)

не применяется

Текстовое, (MTOM)

Да

(с буферизацией)

WSHttpBinding

WS

Транспорта, (сообщения), смешанный

(Нет), надежный, безопасности

(Нет), да

не применяется

(Текстовое), MTOM

Нет

WSDualHttpBinding

WS

(Сообщения), нет

(Надежный), безопасности

(Нет), да

Да

(Текстовое), MTOM

Нет

WSFederationHttpBinding

WS-Federation

(Сообщения), смешанный, нет

(Нет), надежный, безопасности

(Нет), да

Нет

(Текстовое), MTOM

Нет

NetTcpBinding

.NET

(Транспорта), сообщения, нет, смешанный

(Транспорта), надежный, безопасности

(Нет), да

Да

Двоичное

Да

(с буферизацией)

NetNamedPipeBinding

.NET

(Транспорта), нет

Нет, (Транспорта)

(Нет), да

Да

Двоичное

Да

(с буферизацией)

NetMsmqBinding

.NET

Сообщения, (транспорта), нет

(Нет), транспорта

(Нет), да

Нет

Двоичное

Нет

NetPeerTcpBinding

Одноранговое

(Транспорта)

(Нет)

(Нет)

Да

Нет

MsmqIntegrationBinding

MSMQ

(режим безопасности транспорта)

(Нет)

(Нет), да

не применяется

не применяется

Нет

BasicHttpContextBinding

Basic Profile 1.1

(Нет), транспорта, сообщения, смешанный

(Нет)

(Нет)

не применяется

Текстовое, (MTOM)

Да

(с буферизацией)

NetTcpContextBinding

.NET

(Транспорта), сообщения, нет, смешанный

(Транспорта), надежный, безопасности

(Нет), да

Да

Двоичное

Да

(с буферизацией)

WSHttpContextBinding

WS

Транспорта, (сообщения), смешанный

(Нет), надежный, безопасности

(Нет), да

не применяется

Текстовое, (MTOM)

Нет

В следующей таблице поясняются функции, упомянутые в предыдущей таблице.

Функция Описание

Тип взаимодействия

Указывает протокол или технологию, взаимодействие с которыми обеспечивает привязка.

Безопасность

Указывает способ защиты канала.

  • Нет. Сообщение SOAP не защищено, и проверка подлинности клиента не выполняется.

  • Режим безопасности транспорта. Требования безопасности выполняются на транспортном уровне.

  • Режим безопасности сообщения. Требования безопасности выполняются на уровне сообщений.

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

Сеансы

Указывает, поддерживает ли привязка контракты сеансов.

Транзакции

Указывает, включены ли транзакции.

Дуплексный

Указывает, поддерживаются ли дуплексные контракты. Обратите внимание, что для этой функции необходима поддержка сеансов в привязке.

Кодирование

Указывает формат сообщения при передаче по линиям связи. Допустимые значения:

  • Текстовое: например, UTF-8.

  • Двоичное.

  • MTOM (подсистема оптимизации передачи сообщений): метод эффективного кодирования двоичных XML-элементов в контексте конверта SOAP.

Потоковая передача

Указывает, поддерживается ли потоковая передача входящих и исходящих сообщений. Для задания этого значения используется свойство TransferMode привязки. Допустимые значения:

  • Buffered: и сообщение запроса, и сообщение ответа буферизуются.

  • Streamed: и сообщение запроса, и сообщение ответа передаются потоком. 

  • StreamedRequest: сообщение запроса передается потоком, а сообщение ответа буферизируется. 

  • StreamedResponse: сообщение запроса буферизируется, а сообщение ответа передается потоком.

См. также

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

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

Другие ресурсы

Базовое программирование WCF