Ligações personalizadas
Você pode usar a CustomBinding classe quando uma das associações fornecidas pelo sistema não atender aos requisitos do seu serviço. Todas as ligações são construídas a partir de um conjunto ordenado de elementos de ligação. As ligações personalizadas podem ser criadas a partir de um conjunto de elementos de vinculação fornecidos pelo sistema ou podem incluir elementos de vinculação personalizados definidos pelo usuário. Você pode usar elementos de vinculação personalizados, por exemplo, para habilitar o uso de novos transportes ou codificadores em um ponto de extremidade de serviço. Para obter exemplos de trabalho, consulte Exemplos de vinculação personalizada. Para obter mais informações, consulte customBinding>.<
Construção de uma encadernação personalizada
Uma associação personalizada é construída usando o construtor a CustomBinding partir de uma coleção de elementos de ligação que são "empilhados" em uma ordem específica:
Na parte superior está uma classe opcional TransactionFlowBindingElement que permite transações fluidas.
Em seguida, é uma classe opcional ReliableSessionBindingElement que fornece uma sessão e mecanismos de ordenação, conforme definido na especificação WS-ReliableMessaging. Uma sessão pode cruzar SOAP e intermediários de transporte.
Em seguida, há uma classe opcional SecurityBindingElement que fornece recursos de segurança, como autorização, autenticação, proteção e confidencialidade.
Em seguida, é uma classe opcional CompositeDuplexBindingElement que fornece a capacidade de ter comunicação duplex bidirecional com um protocolo de transporte que não suporta comunicação duplex nativamente, como HTTP.
Em seguida, há uma classe opcional OneWayBindingElement) que fornece comunicação unidirecional.
Em seguida, há um elemento de vinculação de segurança de fluxo opcional que pode ser um dos seguintes.
Em seguida, é necessário um elemento de vinculação de codificação de mensagem obrigatório. Você pode usar seu próprio codificador de mensagens ou uma das três associações de codificação de mensagens:
Na parte inferior está um elemento de transporte necessário. Você pode usar seu próprio transporte ou um dos seguintes elementos de vinculação de transporte fornecidos pelo Windows Communication Foundation (WCF):
A tabela a seguir resume as opções para cada camada.
Camada | Opções | Necessário |
---|---|---|
Transações | TransactionFlowBindingElement | Não |
Fiabilidade | ReliableSessionBindingElement | Não |
Segurança | SecurityBindingElement | Não |
Codificação | Texto, binário, Mecanismo de Otimização de Transmissão de Mensagens (MTOM), personalizado | Sim |
Transporte | TCP, HTTP, HTTPS, pipes nomeados (também conhecido como IPC), Peer-to-Peer (P2P), Enfileiramento de Mensagens (também conhecido como MSMQ), Personalizado | Sim |
Além disso, você pode definir seus próprios elementos de ligação e inseri-los entre qualquer uma das camadas definidas anteriormente.