Configurando ligações fornecidas pelo sistema

As ligações especificam o mecanismo de comunicação a ser usado ao falar com um ponto de extremidade e indicam como se conectar a um ponto de extremidade. As ligações consistem em elementos que definem como os canais do Windows Communication Foundation (WCF) são colocados em camadas para fornecer os recursos de comunicação necessários. Uma ligação contém três tipos de elementos:

  • Elementos de ligação de canal de protocolo, que determinam a segurança, confiabilidade, configurações de fluxo de contexto ou protocolos definidos pelo usuário a serem usados com mensagens enviadas para o ponto de extremidade.

  • Elementos de ligação de canal de transporte, que determinam o protocolo de transporte subjacente a ser usado ao enviar mensagens para o ponto de extremidade, por exemplo, TCP ou HTTP.

  • Elementos de ligação de codificação de mensagens, que determinam a codificação de fio a ser usada para mensagens enviadas para o ponto de extremidade, por exemplo, texto/XML, binário ou MTOM (Message Transmission Optimization Mechanism).

Este tópico apresenta todas as associações do Windows Communication Foundation (WCF) fornecidas pelo sistema. Se nenhum deles atender aos requisitos exatos para seu aplicativo, você poderá criar uma associação usando a CustomBinding classe. Para obter mais informações sobre como criar associações personalizadas, consulte Ligações personalizadas.

Importante

Selecione uma associação que tenha a segurança ativada. Por padrão, todas as associações, exceto a vinculação, têm a BasicHttpBinding segurança habilitada. Se você não selecionar uma ligação segura ou desativar a segurança, certifique-se de que suas trocas de rede estejam protegidas de alguma outra maneira, como estar em um data center seguro ou em uma rede isolada.

Importante

Não use contratos duplex com ligações que não suportem segurança ou que tenham a segurança desabilitada, a menos que a troca de rede seja protegida por algum outro meio.

Ligações fornecidas pelo sistema

As seguintes associações são fornecidas com o WCF.

Enlace Configuration Element (Elemento Configuration) Description
BasicHttpBinding <basicHttpBinding> Uma associação que é adequada para se comunicar com serviços Web compatíveis com o Perfil WS-Basic, por exemplo, serviços baseados em serviços Web ASP.NET (ASMX). Essa associação usa HTTP como o transporte e text/XML como a codificação de mensagem padrão.
WSHttpBinding <wsHttpBinding> Uma ligação segura e interoperável que é adequada para contratos de serviços não duplex.
WS2007HttpBinding <ws2007HttpBinding> Uma ligação segura e interoperável que fornece suporte para as Securityversões corretas dos elementos , ReliableSessione TransactionFlow ligação.
WSDualHttpBinding <wsDualHttpBinding> Uma ligação segura e interoperável que é adequada para contratos de serviços duplex ou comunicação através de intermediários SOAP.
WSFederationHttpBinding <wsFederationHttpBinding> Uma ligação segura e interoperável que suporta o protocolo WS-Federation, permitindo que as organizações que estão em uma federação autentiquem e autorizem usuários de forma eficiente.
WS2007FederationHttpBinding <ws2007FederationHttpBinding> Uma ligação segura e interoperável que deriva e WS2007HttpBinding suporta a segurança federada.
NetTcpBinding <netTcpBinding> Uma ligação segura e otimizada adequada para comunicação entre máquinas entre aplicativos WCF.
NetNamedPipeBinding <netNamedPipeBinding> Uma ligação segura, confiável e otimizada que é adequada para comunicação na máquina entre aplicativos WCF.
NetMsmqBinding <netMsmqBinding> Uma ligação em fila que é adequada para comunicação entre máquinas entre aplicativos WCF.
NetPeerTcpBinding <netPeerTcpBinding> Uma ligação que permite uma comunicação segura com várias máquinas.
WebHttpBinding <webHttpBinding> Uma associação usada para configurar pontos de extremidade para serviços Web WCF que são expostos por meio de solicitações HTTP em vez de mensagens SOAP.
MsmqIntegrationBinding <msmqIntegrationBinding> Uma associação que é adequada para comunicação entre máquinas entre um aplicativo WCF e aplicativos existentes do serviço de enfileiramento de mensagens (também conhecido como MSMQ).

Recursos de vinculação

A tabela a seguir mostra alguns dos principais recursos de cada uma das ligações fornecidas pelo sistema. As ligações são listadas na primeira coluna e as informações sobre os recursos são descritas na tabela. A tabela a seguir fornece uma chave para as abreviaturas de vinculação usadas. Para selecionar uma ligação, determine qual coluna satisfaz todos os recursos de linha necessários.

Enlace Interoperabilidade Modo de Segurança (Padrão) Sessão

(Predefinição)
Transações Duplex
BasicHttpBinding Perfil Básico 1.1 (Nenhum), Transporte, Mensagem, Misto Nenhum, (Nenhum) (Nenhum) n/d
WSHttpBinding WS Nenhum, Transporte, (Mensagem), Misto (Nenhum), Transporte, Sessão Confiável (Nenhum), Sim n/d
WS2007HttpBinding WS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy Nenhum, Transporte, (Mensagem), Misto (Nenhum), Transporte, Sessão Confiável (Nenhum), Sim n/d
WSDualHttpBinding WS Nenhum, (Mensagem) (Sessão confiável) (Nenhum), Sim Sim
WSFederationHttpBinding WS-Federation Nenhum, (Mensagem), Misto (Nenhuma), Sessão Confiável (Nenhum), Sim Não
WS2007FederationHttpBinding WS-Federation Nenhum, (Mensagem), Misto (Nenhuma), Sessão Confiável (Nenhum), Sim Não
NetTcpBinding .NET Nenhum, (Transporte), Mensagem,

Misto
Sessão Confiável, (Transporte) (Nenhum), Sim Sim
NetNamedPipeBinding .NET Nenhuma,

(Transportes)
Nenhum, (Transportes) (Nenhum), Sim Sim
NetMsmqBinding .NET Nenhum, Mensagem, (Transporte), Ambos (Nenhum) (Nenhum), Sim Não
NetPeerTcpBinding Elemento da rede Nenhum, Mensagem, (Transporte), Misto (Nenhum) (Nenhum) Sim
WebHttpBinding .Net Nenhum, Transporte, TransportCredentialOnly (Nenhum) (Nenhum) n/d
MsmqIntegrationBinding MSMQ Nenhum, (Transportes) (Nenhum) (Nenhum), Sim n/d

A tabela a seguir explica os recursos encontrados na tabela anterior.

Funcionalidade Description
Tipo de interoperabilidade Nomeia o protocolo ou tecnologia com o qual a ligação garante a interoperação.
Segurança Especifica como o canal é protegido:

- Nenhum: A mensagem SOAP não está segura e o cliente não está autenticado.
- Transportes: Os requisitos de segurança são cumpridos na camada de transporte.
- Mensagem: Os requisitos de segurança são satisfeitos na camada de mensagem.
- Misto: Este modo de segurança é conhecido como TransportWithMessageCredentials. Ele lida com credenciais no nível da mensagem, e os requisitos de integridade e confidencialidade são atendidos pela camada de transporte.
- Ambos: Tanto o nível de mensagem quanto a segurança de nível de transporte são usados. Esta capacidade é exclusiva do NetMsmqBinding.
Sessão Especifica se essa associação oferece suporte a contratos de sessão.
Transações Especifica se as transações estão habilitadas.
Duplex Especifica se há suporte para contratos duplex. Observe que esse recurso requer suporte para sessões na associação.
Transmissão Especifica se o streaming de mensagens é suportado.

Consulte também