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


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

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

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

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

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

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

Внимание

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

Внимание

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

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

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

Привязка Элемент настройки Description
BasicHttpBinding <basicHttpBinding> Привязка, которая подходит для взаимодействия с веб-службами, совместимыми с WS-Basic Profile, например службами, основанными на веб-службах ASP.NET Web (ASMX). Эта привязка использует HTTP как транспорт и формат text/XML как кодирование сообщений по умолчанию.
WSHttpBinding <wsHttpBinding> Безопасная привязка с возможностью взаимодействия, которая подходит для недуплексных контрактов службы.
WS2007HttpBinding <ws2007HttpBinding> Безопасная привязка с возможностью взаимодействия, обеспечивающая поддержку правильных версий элементов привязки Security, ReliableSession и TransactionFlow.
WSDualHttpBinding <wsDualHttpBinding> Безопасная привязка с возможностью взаимодействия, которая подходит для дуплексных контрактов службы или взаимодействия через посредников SOAP.
WSFederationHttpBinding <wsFederationHttpBinding> Безопасная привязка с возможностью взаимодействия, которая поддерживает протокол WS-Federation и позволяет организациям в федерации выполнять эффективную проверку подлинности и авторизацию пользователей.
WS2007FederationHttpBinding <ws2007FederationHttpBinding> Безопасная привязка с возможностью взаимодействия, которая является производной от WS2007HttpBinding и поддерживает федеративную безопасность.
NetTcpBinding <Nettcpbinding> Безопасная и оптимизированная привязка, которая подходит для обмена данными между приложениями WCF на разных компьютерах.
NetNamedPipeBinding <netNamedPipeBinding> Безопасная, надежная и оптимизированная привязка, которая подходит для обмена данными между приложениями WCF на одном компьютере.
NetMsmqBinding <Netmsmqbinding> Поставленная в очередь привязка, которая подходит для обмена данными между приложениями WCF на разных компьютерах.
NetPeerTcpBinding <netPeerTcpBinding> Привязка, которая обеспечивает безопасный обмен данными между несколькими компьютерами.
WebHttpBinding <webHttpBinding> Привязка, используемая при настройке конечных точек для веб-служб WCF, предоставляемых через HTTP-запросы, а не через сообщения SOAP.
MsmqIntegrationBinding <msmqIntegrationBinding> Привязка, которая подходит для обмена данными между приложением WCF и существующими приложениями очереди сообщений (также известной как MSMQ).

Возможности привязок

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

Привязка Совместимость Режим безопасности (по умолчанию) Сеанс

(по умолчанию)
Транзакции Duplex
BasicHttpBinding Basic Profile 1.1 (Нет), Транспорт, Сообщение, Смешанный Нет, (нет) (Нет) Н/Д
WSHttpBinding WS Нет, режим безопасности транспорта, (режим безопасности сообщения), смешанный режим (Нет), сеанс транспорта, надежный сеанс (Нет), да Н/Д
WS2007HttpBinding WS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy Нет, режим безопасности транспорта, (режим безопасности сообщения), смешанный режим (Нет), сеанс транспорта, надежный сеанс (Нет), да Н/Д
WSDualHttpBinding WS Нет, (режим безопасности сообщения) (Надежный сеанс) (Нет), да Да
WSFederationHttpBinding WS-Federation Нет, (режим безопасности сообщения), смешанный режим (Нет), надежный сеанс (Нет), да No
WS2007FederationHttpBinding WS-Federation Нет, (режим безопасности сообщения), смешанный режим (Нет), надежный сеанс (Нет), да No
NetTcpBinding .NET Нет, (режим безопасности транспорта), режим безопасности сообщения

Смешанный
Надежный сеанс, (сеанс транспорта) (Нет), да Да
NetNamedPipeBinding .NET Нет,

(Транспорт)
Нет, (Транспорт) (Нет), да Да
NetMsmqBinding .NET Нет, режим безопасности сообщения, (режим безопасности транспорта), оба режима (Нет) (Нет), да No
NetPeerTcpBinding Одноранговый узел Нет, режим безопасности сообщения, (режим безопасности транспорта), смешанный режим (Нет) (Нет) Да
WebHttpBinding .Net None, Transport, TransportCredentialOnly (Нет) (Нет) Н/Д
MsmqIntegrationBinding MSMQ Нет, (Транспорт) (Нет) (Нет), да Н/Д

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

Возможность Description
Тип взаимодействия Указывает протокол или технологию, взаимодействие с которыми обеспечивает привязка.
Безопасность Указывает способ защиты канала.

— Нет: сообщение SOAP не защищено, и клиент не проходит проверку подлинности.
— "Транспорт". Требования безопасности выполняются на транспортном уровне.
— "Сообщение". Требования безопасности выполняются на уровне сообщений.
— Смешанный: этот режим безопасности называется TransportWithMessageCredentials. В этом режиме учетные данные обрабатываются на уровне сообщений, а требования целостности и конфиденциальности выполняются на транспортном уровне.
— Оба: используется уровень сообщений и безопасность уровня транспорта. Эта возможность уникальна для привязки NetMsmqBinding.
Сеанс Указывает, поддерживает ли привязка контракты сеансов.
Транзакции Указывает, включены ли транзакции.
Duplex Указывает, поддерживаются ли дуплексные контракты. Обратите внимание, что для этой возможности необходима поддержка сеансов в привязке.
Потоковая передача Указывает, поддерживается ли потоковая передача сообщений.

См. также