Compartilhar via


Usando associações para configurar serviços e clientes

As associações são objetos que especificam os detalhes de comunicação necessários para se conectar a um ponto de extremidade. Mais especificamente, as vinculações contêm informações de configuração usadas para criar o runtime do cliente ou serviço, definindo as especificidades de transportes, formatos de linha (codificação de mensagem) e protocolos a serem usados no respectivo ponto de extremidade ou canal do cliente. Para criar um serviço WCF (Windows Communication Foundation) funcional, cada ponto de extremidade no serviço requer uma associação. Este tópico explica o que são associações, como elas são definidas e como uma associação específica é especificada para um ponto de extremidade.

O que uma associação define

As informações em uma associação podem ser muito básicas ou muito complexas. A associação mais básica especifica apenas o protocolo de transporte (como HTTP) que deve ser usado para se conectar ao ponto de extremidade. Em geral, as informações que uma associação contém sobre como se conectar a um ponto de extremidade se enquadram em uma das categorias na tabela a seguir.

Protocolos
Determina o mecanismo de segurança que está sendo usado, a capacidade de mensagens confiáveis ou as configurações de fluxo de contexto de transação.

Transporte
Determina o protocolo de transporte subjacente a ser usado (por exemplo, TCP ou HTTP).

Codificação
Determina a codificação de mensagens, por exemplo, texto/XML, binário ou Mecanismo de Otimização de Transmissão de Mensagens (MTOM), que determina como as mensagens são representadas como fluxos de bytes no fio.

Associações fornecidas pelo sistema

O WCF inclui um conjunto de associações fornecidas pelo sistema que são projetadas para abranger a maioria dos requisitos e cenários do aplicativo. As classes a seguir representam alguns exemplos de associações fornecidas pelo sistema:

  • BasicHttpBinding: uma associação de protocolo HTTP adequada para se conectar aos serviços Web que estão em conformidade com a especificação WS-I Basic Profile 1.1 (por exemplo, serviços web ASP.NET [serviços baseados em ASMX]).

  • WSHttpBinding: uma associação de protocolo HTTP adequada para se conectar a pontos de extremidade que estão em conformidade com os protocolos de especificações dos serviços Web.

  • NetNamedPipeBinding: usa as tecnologias de codificação binária e enquadramento do .NET em conjunto com o transporte de pipe nomeado pelo Windows para se conectar a outros pontos de extremidade do WCF no mesmo computador.

  • NetMsmqBinding: usa as tecnologias de codificação binária e enquadramento do .NET em conjunto com o Enfileiramento de Mensagens (também conhecido como MSMQ) para criar conexões de mensagens enfileiradas com outros pontos de extremidade do WCF.

Para obter uma lista completa de associações fornecidas pelo sistema, com descrições, consulte System-Provided Associações.

Associações personalizadas

Se a coleção de associação fornecida pelo sistema não tiver a combinação correta de recursos exigidos por um aplicativo de serviço, você poderá criar uma CustomBinding associação. Para obter mais informações sobre os elementos de uma CustomBinding associação, consulte <customBinding> e Custom Bindings.

Usar associações

O uso de associações envolve duas etapas básicas:

  1. Selecione ou defina uma associação. O método mais fácil é escolher uma das associações fornecidas pelo sistema e usar suas configurações padrão. Você também pode escolher uma associação fornecida pelo sistema e redefinir seus valores de propriedade para atender aos seus requisitos. Como alternativa, você pode criar uma associação personalizada e definir todas as propriedades conforme necessário.

  2. Crie um ponto de extremidade que use essa associação.

Código e configuração

Você pode definir ou configurar associações por meio de código ou configuração. Essas duas abordagens são independentes do tipo de vinculação utilizada, por exemplo, se você está utilizando uma vinculação fornecida pelo sistema ou uma CustomBinding vinculação. Em geral, o uso de código fornece controle total sobre a definição de uma associação quando você compila. O uso da configuração, por outro lado, permite que um administrador do sistema ou o usuário de um serviço ou cliente do WCF altere os parâmetros de associações. Essa flexibilidade geralmente é desejável porque não há como prever os requisitos específicos do computador e as condições de rede nas quais um aplicativo WCF deve ser implantado. Separar as informações de associação (e endereçamento) do código permite que os administradores alterem os detalhes da associação sem precisar recompilar ou reimplantar o aplicativo. Observe que, se a associação for definida no código, ela substituirá todas as definições baseadas em configuração feitas no arquivo de configuração. Para obter exemplos dessas abordagens, consulte os seguintes tópicos:

Consulte também