Compartilhar via


Configurando associações fornecidas pelo sistema

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

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

  • O transporte determina o protocolo de transporte subjacente a ser usado ao enviar mensagens para o ponto de extremidade, por exemplo, TCP ou HTTP.

  • Elementos de associação de codificação de mensagem, 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 (Mecanismo de Otimização de Transmissão de Mensagens).

Este tópico apresenta todas as associações do WCF (Windows Communication Foundation) fornecidas pelo sistema. Se nenhuma dessas associações atender aos requisitos exatos de seu aplicativo, você pode criar uma associação personalizada usando a classe CustomBinding. Para obter mais informações sobre como criar associações personalizadas, confira Associações personalizadas.

Importante

Selecione uma associação que tenha a segurança habilitada. Por padrão, todas as associações, exceto a associação BasicHttpBinding, têm a segurança habilitada. Se você não selecionar uma associação segura ou desabilitar a segurança, proteja seus dados de alguma outra forma, como armazená-los em um data center protegido ou em uma rede isolada.

Importante

Não use contratos duplex com associações que não dão suporte à segurança ou que têm a segurança desabilitada, a menos que a troca da rede esteja protegida por outros meios.

Associações fornecidas pelo sistema

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

Associação Elemento de configuração Descrição
BasicHttpBinding <basicHttpBinding> Uma associação adequada para comunicação com serviços Web em conformidade com o WS-Basic Profile, por exemplo, serviços baseados em serviços Web do ASP.NET (ASMX). Essa associação usa HTTP como o transporte e texto/XML como a codificação de mensagem padrão.
WSHttpBinding <wsHttpBinding> Uma associação segura e interoperável que é adequada para contratos de serviço não duplex.
WS2007HttpBinding <ws2007HttpBinding> Uma associação segura e interoperável que dá suporte às versões corretas dos elementos de associação Security, ReliableSession e TransactionFlow.
WSDualHttpBinding <wsDualHttpBinding> Uma associação segura e interoperável que é adequada para contratos de serviços duplex ou para comunicação por intermediários SOAP.
WSFederationHttpBinding <wsFederationHttpBinding> Uma associação segura e interoperável que dá suporte ao protocolo WS-Federation, permitindo às organizações que estão em uma federação autenticar e autorizar usuários com eficiência.
WS2007FederationHttpBinding <ws2007FederationHttpBinding> Uma associação segura e interoperável que deriva de WS2007HttpBinding e dá suporte à segurança federada.
NetTcpBinding <netTcpBinding> Uma associação segura e otimizada, adequada para comunicação de computadores entre aplicativos do WCF.
NetNamedPipeBinding <netNamedPipeBinding> Uma associação segura, confiável e otimizada, que é adequada para comunicação no computador entre aplicativos do WCF.
NetMsmqBinding <netMsmqBinding> Uma associação na fila que é adequada para comunicação de computadores entre aplicativos do WCF.
NetPeerTcpBinding <netPeerTcpBinding> Uma associação que permite uma comunicação segura entre vários computadores.
WebHttpBinding <webHttpBinding> Uma associação usada para configurar pontos de extremidade para serviços Web WCF expostos por meio de solicitações HTTP, em vez de mensagens SOAP.
MsmqIntegrationBinding <msmqIntegrationBinding> Uma associação adequada para comunicação de computadores entre um aplicativo do WCF e os aplicativos existentes do Enfileiramento de Mensagens (também conhecidos como MSMQ).

Recursos de associação

A tabela a seguir mostra alguns dos principais recursos de cada uma das associações fornecidas pelo sistema. As associações são listadas na primeira coluna e as informações sobre os recursos são descritas na tabela. A tabela a seguir fornece um código para as abreviações de associação usadas. Para escolher uma associação, determine qual coluna atende a todas as funcionalidades de linha necessárias.

Associação Interoperabilidade Modo de segurança (Padrão) Session

(Padrão)
Transactions Duplex
BasicHttpBinding Basic Profile 1.1 (Nenhum), Transporte, Mensagem, Misto Nenhum, (Nenhum) (Nenhuma) n/d
WSHttpBinding WS (Nenhum), Transporte, Mensagem, Misto (Nenhum), Transporte, Sessão Confiável (Nenhum), Sim n/a
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 O certificado do provedor de identidade do Web Services Federation Nenhum, (Mensagem), Misto (Nenhum), Sessão confiável (Nenhum), Sim No
WS2007FederationHttpBinding O certificado do provedor de identidade do Web Services Federation Nenhum, (Mensagem), Misto (Nenhum), Sessão confiável (Nenhum), Sim No
NetTcpBinding .NET Nenhum, (Transporte), Mensagem,

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

(Transporte)
Nenhum, (Transporte) (Nenhum), Sim Sim
NetMsmqBinding .NET nenhum, Mensagem, (Transporte), Ambos (Nenhuma) (Nenhum), Sim No
NetPeerTcpBinding Par Nenhum, Mensagem, (Transporte), Misto (Nenhuma) (Nenhuma) Sim
WebHttpBinding .Net Nenhum, Transporte, TransportCredentialOnly (Nenhuma) (Nenhuma) n/a
MsmqIntegrationBinding MSMQ Nenhum, (Transporte) (Nenhuma) (Nenhum), Sim n/a

A tabela a seguir explica as funcionalidades encontradas na tabela anterior.

Recurso Descrição
Tipo de interoperabilidade Nomeia a tecnologia ou o protocolo com o qual a associação garante a interoperação.
Segurança Especifica como o canal é protegido:

- Nenhum: a mensagem SOAP não é protegida e o cliente não é autenticado.
- Transporte: os requisitos de segurança são atendidos na camada de transporte.
- Mensagem: os requisitos de segurança são atendidos na camada de mensagem.
- Misto: esse 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: o nível da mensagem e a segurança no nível do transporte são usados. Essa capacidade é exclusiva do NetMsmqBinding.
Session Especifica se essa associação dá suporte a contratos de sessão.
Transactions Especifica se as transações estão habilitadas.
Duplex Especifica se há suporte para os contratos duplex. Observe que essa funcionalidade exige suporte para Sessões na associação.
Streaming Especifica se há suporte para o streaming de mensagens.

Confira também