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

Ligações são objetos que especificam os detalhes de comunicação necessários para se conectar a um ponto de extremidade. Mais especificamente, as associações contêm informações de configuração que são usadas para criar o tempo de execução do cliente ou serviço, definindo as especificidades de transportes, formatos de fio (codificação de mensagens) e protocolos a serem usados para o respetivo ponto de extremidade ou canal de cliente. Para criar um serviço Windows Communication Foundation (WCF) funcional, cada ponto de extremidade no serviço requer uma ligaçã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 vinculação define

As informações contidas numa ligaçã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, seja o recurso de mensagens confiável 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 MTOM (Message Transmission Optimization Mechanism), que determina como as mensagens são representadas como fluxos de bytes no fio.

Ligações fornecidas pelo sistema

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

  • BasicHttpBinding: Uma ligação de protocolo HTTP adequada para conexão com serviços Web que esteja em conformidade com a especificação WS-I Basic Profile 1.1 (por exemplo, serviços baseados em ASP.NET Web services [ASMX]).

  • WSHttpBinding: Uma ligação de protocolo HTTP adequada para conexão com pontos de extremidade que estão em conformidade com os protocolos de especificações de serviços da Web.

  • NetNamedPipeBinding: Usa as tecnologias de codificação binária e enquadramento .NET em conjunto com o transporte de pipe nomeado do Windows para se conectar a outros pontos de extremidade WCF na mesma máquina.

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

Para obter uma lista completa de ligações fornecidas pelo sistema, com descrições, consulte Ligações fornecidas pelo sistema.

Ligações personalizadas

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

Usando ligações

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

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

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

Código e configuração

Você pode definir ou configurar ligações por meio de código ou configuração. Essas duas abordagens são independentes do tipo de associação usado, por exemplo, se você está usando uma associação fornecida pelo sistema ou uma CustomBinding ligação. Em geral, o uso de código lhe dá 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 de sistema ou o usuário de um serviço ou cliente WCF altere os parâmetros das associações. Essa flexibilidade geralmente é desejável porque não há como prever os requisitos específicos da máquina e as condições de rede nas quais um aplicativo WCF deve ser implantado. Separar as informações de vinculação (e endereçamento) do código permite que os administradores alterem os detalhes da associação sem ter que recompilar ou reimplantar o aplicativo. Observe que, se a associação for definida no código, ela substituirá quaisquer 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