Pontos de extremidade: endereços, ligações e contratos
Toda a comunicação com um serviço Windows Communication Foundation (WCF) ocorre através dos pontos de extremidade do serviço. Os pontos de extremidade fornecem aos clientes acesso à funcionalidade oferecida por um serviço WCF.
Cada ponto de extremidade consiste em quatro propriedades:
Um endereço que indica onde o ponto de extremidade pode ser encontrado.
Uma associação que especifica como um cliente pode se comunicar com o ponto de extremidade.
Um contrato que identifica as operações disponíveis.
Um conjunto de comportamentos que especificam detalhes de implementação local do ponto de extremidade.
Este tópico discute essa estrutura de ponto de extremidade e explica como ela é representada no modelo de objeto WCF.
A estrutura de um ponto final
Cada ponto de extremidade consiste no seguinte:
Endereço: o endereço identifica exclusivamente o ponto de extremidade e informa os potenciais consumidores do serviço onde ele está localizado. Ele é representado no modelo de objeto WCF pela EndpointAddress classe. Uma EndpointAddress classe contém:
Uma Uri propriedade, que representa o endereço do serviço.
Uma Identity propriedade, que representa a identidade de segurança do serviço e uma coleção de cabeçalhos de mensagem opcionais. Os cabeçalhos de mensagem opcionais são usados para fornecer informações de endereçamento adicionais e mais detalhadas para identificar ou interagir com o ponto de extremidade.
Para obter mais informações, consulte Especificando um endereço de ponto de extremidade.
Vinculação: A associação especifica como se comunicar com o ponto de extremidade. O que está incluído:
O protocolo de transporte a ser usado (por exemplo, TCP ou HTTP).
A codificação a ser usada para as mensagens (por exemplo, texto ou binário).
Os requisitos de segurança necessários (por exemplo, segurança de mensagens SSL ou SOAP).
Para obter mais informações, consulte Visão geral de ligações WCF. Uma associação é representada no modelo de objeto WCF pela classe Bindingbase abstrata. Para a maioria dos cenários, os usuários podem usar uma das associações fornecidas pelo sistema. Para obter mais informações, consulte Ligações fornecidas pelo sistema.
Contratos: O contrato descreve qual funcionalidade o endpoint expõe ao cliente. Um contrato especifica:
Quais operações podem ser chamadas por um cliente.
A forma da mensagem.
O tipo de parâmetros de entrada ou dados necessários para chamar a operação.
Que tipo de processamento ou mensagem de resposta o cliente pode esperar.
Para obter mais informações sobre como definir um contrato, consulte Projetando contratos de serviço.
Comportamentos: Você pode usar comportamentos de ponto de extremidade para personalizar o comportamento local do ponto de extremidade de serviço. Os comportamentos de ponto de extremidade conseguem isso participando do processo de criação de um tempo de execução do WCF. Um exemplo de um comportamento de ponto de extremidade é a ListenUri propriedade, que permite especificar um endereço de escuta diferente do endereço SOAP ou WSDL (Web Services Description Language). Para obter mais informações, consulte ClientViaBehavior.
Definindo pontos de extremidade
Você pode especificar o ponto de extremidade para um serviço usando código imperativamente ou declarativamente por meio da configuração. Para obter mais informações, consulte Como criar um ponto de extremidade de serviço em configuração e Como criar um ponto de extremidade de serviço no código.
Nesta Secção
Esta seção explica a finalidade das associações, pontos de extremidade e endereços; mostra como configurar uma ligação e um ponto de extremidade; e demonstra como usar o comportamento e ListenUri
a ClientVia
propriedade.
Endereços
Descreve como os pontos de extremidade são abordados no WCF.
Ligações
Descreve como as associações são usadas para especificar os detalhes de transporte, codificação e protocolo necessários para que clientes e serviços se comuniquem entre si.
Contratos
Descreve como os contratos definem os métodos de um serviço.
Como: Criar um ponto de extremidade de serviço na configuração
Descreve como criar um ponto de extremidade de serviço na configuração.
Como: Criar um ponto de extremidade de serviço no código
Descreve como criar um ponto de extremidade de serviço no código.
Como: Usar Svcutil.exe para validar o código de serviço compilado
Descreve como detetar erros em implementações e configurações de serviço sem hospedar o serviço usando a ServiceModel Metadata Utility Tool (Svcutil.exe).