Partilhar via


Enlaces fornecidos pelo sistema

Os enlaces especificam o mecanismo de comunicação a utilizar ao falar com um ponto final e indicam como ligar a um ponto final. Um enlace contém os seguintes elementos:

  • A pilha de protocolos determina as definições de fluxo de contexto, fiabilidade e segurança a utilizar para mensagens enviadas para o ponto final.

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

  • A codificação determina a codificação de fios a utilizar para mensagens enviadas para o ponto final. Por exemplo, texto/XML, binário ou Mecanismo de Otimização da Transmissão de Mensagens (MTOM).

Este artigo apresenta todos os enlaces do Windows Communication Foundation (WCF) fornecidos pelo sistema. Se nenhum destes enlaces cumprir os critérios exatos para a sua aplicação, pode criar um enlace personalizado. Para obter mais informações sobre a criação de enlaces personalizados, veja Enlaces Personalizados.

Um enlace seguro e interoperável que suporte o protocolo WS-Federation permite às organizações que estão numa federação autenticar e autorizar utilizadores de forma eficiente.

Importante

Selecione sempre um enlace que inclua segurança. Por predefinição, todos os enlaces, exceto o <elemento básicoHttpBinding, têm a> segurança ativada. Se não selecionar um enlace seguro ou desativar a segurança, certifique-se de que protege os seus dados de outra forma, como armazenar num datacenter seguro ou numa rede isolada.

Importante

Nunca utilize contratos duplex com enlaces que não suportem segurança ou que tenham a segurança desativada, a menos que proteja os dados por outros meios.

Os seguintes enlaces são enviados com o WCF:

Enlace Configuration Element (Elemento Configuration) Description
BasicHttpBinding <basicHttpBinding> Um enlace adequado para comunicar com WS-Basic serviços Web conformes com o perfil, por exemplo, ASP.NET serviços Baseados em serviços Web (ASMX). Este enlace utiliza HTTP como transporte e texto/XML como a codificação de mensagens predefinida.
WSHttpBinding <wsHttpBinding> Um enlace seguro e interoperável adequado para contratos de serviço não duplex.
WSDualHttpBinding <wsDualHttpBinding> Um enlace seguro e interoperável adequado para contratos de serviço duplex ou comunicação através de intermediários SOAP.
WSFederationHttpBinding <wsFederationHttpBinding> Um enlace seguro e interoperável que suporta o protocolo WS-Federation, que permite às organizações que estão numa federação autenticar e autorizar utilizadores de forma eficiente.
NetHttpBinding <netHttpBinding> Um enlace concebido para consumir serviços HTTP ou WebSocket que utiliza codificação binária por predefinição.
NetHttpsBinding <netHttpsBinding> Um enlace seguro concebido para consumir serviços HTTP ou WebSocket que utiliza codificação binária por predefinição.
NetTcpBinding <netTcpBinding> Um enlace seguro e otimizado adequado para comunicação entre máquinas entre aplicações WCF.
NetNamedPipeBinding <netNamedPipeBinding> Um enlace seguro, fiável e otimizado adequado para a comunicação no computador entre aplicações WCF.
NetMsmqBinding <netMsmqBinding> Um enlace em fila adequado para a comunicação entre máquinas entre máquinas entre aplicações WCF.
NetPeerTcpBinding <netPeerTcpBinding> Um enlace que permite uma comunicação segura e múltipla do computador.
MsmqIntegrationBinding <msmqIntegrationBinding> Um enlace adequado para a comunicação entre máquinas entre uma aplicação WCF e aplicações de Colocação de Mensagens em Fila existentes.
BasicHttpContextBinding <basicHttpContextBinding> Um enlace adequado para comunicar com os serviços Web conformes com o perfil do WS-Basic que permite que os cookies HTTP sejam utilizados para trocar contexto.
NetTcpContextBinding <netTcpContextBinding> Um enlace seguro e otimizado adequado para comunicação entre computadores entre aplicações WCF que permite que os cabeçalhos SOAP sejam utilizados para trocar contexto.
WebHttpBinding <webHttpBinding> Um enlace utilizado para configurar pontos finais para serviços Web WCF que são expostos através de pedidos HTTP em vez de mensagens SOAP.
WSHttpContextBinding <wsHttpContextBinding> Um enlace seguro e interoperável adequado para contratos de serviço não duplex que permite que os cabeçalhos SOAP sejam utilizados para trocar contexto.
UdpBinding <udpBinding> Um enlace a utilizar ao enviar uma rajada de mensagens simples para um grande número de clientes em simultâneo.

A tabela seguinte mostra as funcionalidades de cada um dos enlaces fornecidos pelo sistema. Os enlaces encontram-se nas colunas da tabela; as funcionalidades estão listadas nas linhas e descritas numa segunda tabela. A tabela seguinte fornece uma chave para as abreviaturas de enlace utilizadas. Para selecionar um enlace, determine que coluna satisfaz todas as funcionalidades de linha de que precisa.

Enlace Interoperabilidade Segurança (Predefinição) Sessão
(Predefinição)
Transações Frente e verso Codificação (Predefinição) Transmissão em Fluxo
(Predefinição)
BasicHttpBinding Perfil Básico 1.1 (Nenhum), Transporte, Mensagem, Misto (Nenhum) (Nenhum) n/a Texto, (MTOM) Yes
(em memória intermédia)
WSHttpBinding WS Transporte, (Mensagem), Misto (Nenhum), Sessão Fiável, Sessão de Segurança (Nenhum), Sim n/a (Texto), MTOM No
WSDualHttpBinding WS (Mensagem), Nenhuma (Sessão Fiável), Sessão de Segurança (Nenhum), Sim Yes (Texto), MTOM No
WSFederationHttpBinding WS-Federation (Mensagem), Misto, Nenhum (Nenhum), Sessão Fiável, Sessão de Segurança (Nenhum), Sim No (Texto), MTOM No
NetHttpBinding .NET (Nenhum), Transporte, Mensagem, TransportWithMessageCredential, TransportCredentialOnly Ver nota abaixo Nenhuma Ver nota abaixo (Binário), Texto, MTOM Sim (em memória intermédia)
NetHttpsBinding .NET (Transporte), TransportWithMessageCredential Ver nota abaixo Nenhuma Ver nota abaixo (Binário), Texto, MTOM Yes
(em memória intermédia)
NetTcpBinding .NET (Transporte), Mensagem, Nenhuma, Mista (Transporte), Sessão Fiável, Sessão de Segurança (Nenhum), Sim Yes Binário Yes
(em memória intermédia)
NetNamedPipeBinding .NET (Transporte), Nenhum Nenhum, (Transporte) (Nenhum), Sim Yes Binário Yes
(em memória intermédia)
NetMsmqBinding .NET Mensagem, (Transporte), Nenhuma (Nenhum), Transporte Nenhum, (Sim) No Binário No
NetPeerTcpBinding Elemento da rede (Transporte) (Nenhum) (Nenhum) Yes No
MsmqIntegrationBinding MSMQ (Transporte) (Nenhum) Nenhum, (Sim) n/a n/a No
BasicHttpContextBinding Perfil Básico 1.1 (Nenhum), Transporte, Mensagem, Misto (Nenhum) (Nenhum) n/a Texto, (MTOM) Yes
(em memória intermédia)
NetTcpContextBinding .NET (Transporte), Mensagem, Nenhuma, Mista (Transporte), Sessão Fiável, Sessão de Segurança (Nenhum), Sim Yes Binário Yes
(em memória intermédia)
WSHttpContextBinding WS Transporte, (Mensagem), Misto (Nenhum), Sessão Fiável, Sessão de Segurança (Nenhum), Sim n/a Texto, (MTOM) No
UdpBinding

Nota: A interoperabilidade pode ser alcançada através da implementação da especificação SOAP-over-UDP padrão que este enlace implementa.
.NET (Nenhum) (Nenhum) (Nenhum) n/a (Texto) No

Importante

NetHttpBinding é um enlace concebido para consumir serviços HTTP ou WebSocket e utiliza a codificação binária por predefinição. NetHttpBinding deteta se é utilizado com um contrato de pedido-resposta ou contrato duplex e altera o respetivo comportamento para corresponder; utiliza HTTP para pedido-resposta e WebSockets para duplex. Este comportamento pode ser substituído através da WebSocketTransportUsage definição de enlace: WhenDuplex – Este é o valor predefinido e comporta-se conforme descrito acima. Nunca – isto impede a utilização de WebSockets. Tentar utilizar um contrato duplex com esta definição resulta numa exceção. Always - Isto força os WebSockets a serem utilizados mesmo para contratos de pedido-resposta. O NetHttpBinding suporta sessões fiáveis no modo HTTP e no modo WebSocket. No modo WebSocket, as sessões são fornecidas pelo transporte.

A tabela seguinte explica as funcionalidades listadas na tabela anterior.

Funcionalidade Descrição
Tipo de Interoperabilidade Dá um nome ao protocolo ou tecnologia com o qual o enlace garante a interoperação.
Segurança Especifica a forma como o canal é protegido:
- Nenhum: a mensagem SOAP não está protegida e o cliente não é autenticado.
- Transporte: os requisitos de segurança são cumpridos na camada de transporte.
- Mensagem: os requisitos de segurança são cumpridos na camada da mensagem.
- Misto: as afirmações são transportadas na mensagem; Os requisitos de integridade e confidencialidade são cumpridos pela camada de transporte.
Sessão Especifica se este enlace suporta contratos de sessão.
Transações Especifica se as transações estão ativadas.
Frente e verso Especifica se os contratos duplex são suportados. Tenha em atenção que esta funcionalidade necessita de suporte para Sessões no enlace.
Encoding Especifica o formato de fio da mensagem. Os valores permitidos incluem:
- Texto: por exemplo UTF-8.
- Binário
- Mecanismo de Otimização da Transmissão de Mensagens (MTOM): um método para codificar de forma eficiente elementos XML binários no contexto de um envelope SOAP.
Transmissão em Fluxo Especifica se a transmissão em fluxo é suportada para mensagens recebidas e enviadas. Utilize a TransferMode propriedade no enlace para definir o valor. Os valores permitidos incluem:
- Buffered: as mensagens de pedido e resposta estão ambas em memória intermédia.
- Streamed: as mensagens de pedido e resposta são transmitidas em fluxo.
- StreamedRequest: a mensagem do pedido é transmitida em fluxo e a mensagem de resposta é apresentada na memória intermédia.
- StreamedResponse: a mensagem do pedido é transmitida em memória intermédia e a mensagem de resposta é transmitida em fluxo.

Ver também