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

Привязки указывают, какой механизм связи использовать при взаимодействии с конечной точкой, а также способ подключения к конечной точке.Bindings specify the communication mechanism to use when talking to an endpoint and indicate how to connect to an endpoint. Привязки состоят из элементов, определяющих, как каналы Windows Communication Foundation (WCF) размещаются, чтобы обеспечить необходимые функции связи.Bindings consist of elements that define how the Windows Communication Foundation (WCF) channels are layered up to provide the required communication features. Привязка содержит три типа элементов.A binding contains three types of elements:

  • Элементы привязки канала протокола, определяющие безопасность, надежность, параметры перемещения контекста или пользовательские протоколы, которые используются с сообщениями, отправляемыми в конечную точку.Protocol channel binding elements, which determine the security, reliability, context flow settings, or user-defined protocols to use with messages that are sent to the endpoint.

  • Элементы привязки канала транспорта, определяющие основной транспортный протокол, используемый при отправке сообщений в конечную точку, например TCP или HTTP.Transport channel binding elements, which determine the underlying transport protocol to use when sending messages to the endpoint, for example, TCP or HTTP.

  • Элементы привязки кодирования сообщений, определяющие сетевое кодирование, которое необходимо использовать для сообщений, отправляемых в конечную точку, например кодирование text/XML, двоичное кодирование или подсистема оптимизации передачи сообщений (MTOM).Message encoding binding elements, which determine the wire encoding to use for messages that are sent to the endpoint, for example, text/XML, binary, or Message Transmission Optimization Mechanism (MTOM).

В этом разделе представлены все предоставляемые системой привязки Windows Communication Foundation (WCF).This topic presents all of the system-provided Windows Communication Foundation (WCF) bindings. Если ни одна из привязок не отвечает точным требованиям приложения, то можно создать привязку с помощью класса CustomBinding.If none of these meets the exact requirements for your application, you can create a binding using the CustomBinding class. Дополнительные сведения о создании настраиваемых привязок см. в разделе Пользовательские привязки.For more information about creating custom bindings, see Custom Bindings.

Важно!

Выберите привязку, в которой включены функции безопасности.Select a binding that has security enabled. По умолчанию функции безопасности всех привязок, за исключением привязки BasicHttpBinding, включены.By default, all bindings, except the BasicHttpBinding binding, have security enabled. Если безопасная привязка не выбрана или если безопасность выключена, убедитесь, что обмен данными в сети защищен каким-либо иным образом, например выполняется в безопасном центре обработки данных или в изолированной сети.If you do not select a secure binding, or if you disable security, be sure your network exchanges are protected in some other manner, such as being in a secured data center or on an isolated network.

Важно!

Не используйте дуплексные контракты с привязками, которые не поддерживают безопасность или в которых выключены функции безопасности, если обмен данными в сети не защищен каким-либо иным образом.Do not use duplex contracts with bindings that do not support security, or that have security disabled, unless the network exchange is secured by some other means.

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

Следующие привязки поставляются вместе с WCF.The following bindings are shipped with WCF.

ПривязкаBinding Элемент настройкиConfiguration Element ОписаниеDescription
BasicHttpBinding <basicHttpBinding> Привязка, которая подходит для взаимодействия с веб-службами, совместимыми с WS-Basic Profile, например службами, основанными на веб-службах ASP.NET Web (ASMX).A binding that is suitable for communicating with WS-Basic Profile conformant Web services, for example, ASP.NET Web services (ASMX)-based services. Эта привязка использует HTTP как транспорт и формат text/XML как кодирование сообщений по умолчанию.This binding uses HTTP as the transport and text/XML as the default message encoding.
WSHttpBinding <wsHttpBinding> Безопасная привязка с возможностью взаимодействия, которая подходит для недуплексных контрактов службы.A secure and interoperable binding that is suitable for non-duplex service contracts.
WS2007HttpBinding <ws2007HttpBinding> Безопасная привязка с возможностью взаимодействия, обеспечивающая поддержку правильных версий элементов привязки Security, ReliableSession и TransactionFlow.A secure and interoperable binding that provides support for the correct versions of the Security, ReliableSession, and TransactionFlow binding elements.
WSDualHttpBinding <wsDualHttpBinding> Безопасная привязка с возможностью взаимодействия, которая подходит для дуплексных контрактов службы или взаимодействия через посредников SOAP.A secure and interoperable binding that is suitable for duplex service contracts or communication through SOAP intermediaries.
WSFederationHttpBinding <wsFederationHttpBinding> Безопасная привязка с возможностью взаимодействия, которая поддерживает протокол WS-Federation и позволяет организациям в федерации выполнять эффективную проверку подлинности и авторизацию пользователей.A secure and interoperable binding that supports the WS-Federation protocol, enabling organizations that are in a federation to efficiently authenticate and authorize users.
WS2007FederationHttpBinding <ws2007FederationHttpBinding> Безопасная привязка с возможностью взаимодействия, которая является производной от WS2007HttpBinding и поддерживает федеративную безопасность.A secure and interoperable binding that derives from WS2007HttpBinding and supports federated security.
NetTcpBinding <netTcpBinding> Безопасная и оптимизированная привязка, которая подходит для обмена данными между приложениями WCF на разных компьютерах.A secure and optimized binding suitable for cross-machine communication between WCF applications.
NetNamedPipeBinding <netNamedPipeBinding> Безопасная, надежная и оптимизированная привязка, которая подходит для обмена данными между приложениями WCF на одном компьютере.A secure, reliable, optimized binding that is suitable for on-machine communication between WCF applications.
NetMsmqBinding <netMsmqBinding> Поставленная в очередь привязка, которая подходит для обмена данными между приложениями WCF на разных компьютерах.A queued binding that is suitable for cross-machine communication between WCF applications.
NetPeerTcpBinding <netPeerTcpBinding> Привязка, которая обеспечивает безопасный обмен данными между несколькими компьютерами.A binding that enables secure, multi-machine communication.
WebHttpBinding <webHttpBinding> Привязка, используемая при настройке конечных точек для веб-служб WCF, предоставляемых через HTTP-запросы, а не через сообщения SOAP.A binding used to configure endpoints for WCF Web services that are exposed through HTTP requests instead of SOAP messages.
MsmqIntegrationBinding <msmqIntegrationBinding> Привязка, которая подходит для обмена данными между несколькими компьютерами между приложением WCF и существующими приложениями очереди сообщений (также называемыми MSMQ).A binding that is suitable for cross-machine communication between a WCF application and existing Message Queuing (also known as MSMQ) applications.

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

В таблице ниже перечислены некоторые ключевые возможности каждой указанной привязки, предоставленной системой.The next table shows some of the key features each of the system-provided bindings provided. Привязки перечислены в первом столбце, а информация, касающаяся возможностей, представлена в таблице.The bindings are listed in the first column and information regarding the features is described in the table. В следующей таблице приводится ключ к используемым аббревиатурам привязок.The following table provides a key for the binding abbreviations used. Чтобы выбрать привязку, определите, какой столбец удовлетворяет всем требуемым функциям, указанным в строке.To select a binding, determine which column satisfies all of the row features you need.

ПривязкаBinding СовместимостьInteroperability Режим безопасности (по умолчанию)Mode of Security (Default) СеансSession

(по умолчанию)(Default)
TransactionsTransactions ДуплексDuplex
BasicHttpBinding Basic Profile 1.1Basic Profile 1.1 (Нет), Транспорт, Сообщение, Смешанный(None), Transport, Message, Mixed Нет, (нет)None, (None) (нет)(None) Недоступноn/a
WSHttpBinding WSWS Нет, режим безопасности транспорта, (режим безопасности сообщения), смешанный режимNone, Transport, (Message), Mixed (Нет), сеанс транспорта, надежный сеанс(None), Transport, Reliable Session (Нет), да(None), Yes Недоступноn/a
WS2007HttpBinding WS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicyWS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy Нет, режим безопасности транспорта, (режим безопасности сообщения), смешанный режимNone, Transport, (Message), Mixed (Нет), сеанс транспорта, надежный сеанс(None), Transport, Reliable Session (Нет), да(None), Yes Недоступноn/a
WSDualHttpBinding WSWS Нет, (режим безопасности сообщения)None, (Message) (Надежный сеанс)(Reliable Session) (Нет), да(None), Yes ДаYes
WSFederationHttpBinding WS-FederationWS-Federation Нет, (режим безопасности сообщения), смешанный режимNone, (Message), Mixed (Нет), надежный сеанс(None), Reliable Session (Нет), да(None), Yes НетNo
WS2007FederationHttpBinding WS-FederationWS-Federation Нет, (режим безопасности сообщения), смешанный режимNone, (Message), Mixed (Нет), надежный сеанс(None), Reliable Session (Нет), да(None), Yes НетNo
NetTcpBinding .NET.NET Нет, (режим безопасности транспорта), режим безопасности сообщенияNone, (Transport), Message,

СмешанныйMixed
Надежный сеанс, (сеанс транспорта)Reliable Session, (Transport) (Нет), да(None), Yes ДаYes
NetNamedPipeBinding .NET.NET Нет,None,

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

В таблице ниже приводятся пояснения функций, указанных в предыдущей таблице.The following table explains the features found in the previous table.

ФункцияFeature ОписаниеDescription
Тип взаимодействияInteroperability Type Указывает протокол или технологию, взаимодействие с которыми обеспечивает привязка.Names the protocol or technology with which the binding ensures interoperation.
БезопасностьSecurity Указывает способ защиты канала.Specifies how the channel is secured:

-None: сообщение SOAP не защищено, и клиент не прошел проверку подлинности.- None: The SOAP message is not secured and the client is not authenticated.
-Transport: требования безопасности удовлетворяются на транспортном уровне.- Transport: Security requirements are satisfied at the transport layer.
— Message: требования безопасности удовлетворяются на уровне сообщений.- Message: Security requirements are satisfied at the message layer.
-Mixed: этот режим безопасности называется TransportWithMessageCredentials .- Mixed: This security mode is known as TransportWithMessageCredentials. В этом режиме учетные данные обрабатываются на уровне сообщений, а требования целостности и конфиденциальности выполняются на транспортном уровне.It handles credentials at the message level, and integrity and confidentiality requirements are satisfied by the transport layer.
-Both — используются уровень сообщений и безопасность на транспортном уровне.- Both: Both message level and transport level security are used. Эта возможность уникальна для привязки NetMsmqBinding.This ability is unique to the NetMsmqBinding.
СеансSession Указывает, поддерживает ли привязка контракты сеансов.Specifies whether this binding supports session contracts.
TransactionsTransactions Указывает, включены ли транзакции.Specifies whether transactions are enabled.
ДуплексDuplex Указывает, поддерживаются ли дуплексные контракты.Specifies whether duplex contracts are supported. Обратите внимание, что для этой возможности необходима поддержка сеансов в привязке.Note this feature requires support for Sessions in the binding.
Потоковая передачаStreaming Указывает, поддерживается ли потоковая передача сообщений.Specifies whether the message streaming is supported.

См. такжеSee also