Desenvolvimento de Canais
Para desenvolver um protocolo ou canal de transporte que possa ser usado com a camada de aplicativo do Windows Communication Foundation (WCF), são necessárias várias etapas. Este tópico descreve essas etapas e aponta para tópicos específicos para obter mais informações. Para entender o modelo de canal e os vários tipos mencionados neste tópico, consulte Visão geral do modelo de canal. Para obter um exemplo completo de canal de transporte, consulte Transporte: UDP.
A lista de tarefas de desenvolvimento de canal
As etapas para criar um canal definido pelo usuário são as seguintes. Todos os canais devem:
Decida qual dos padrões de troca de mensagens do canal (IOutputChannel, IInputChannel, IDuplexChannel, IRequestChannelou IReplyChannel) você IChannelFactory suportará IChannelListener , bem como se ele suportará as variações de sessão dessas interfaces. Para obter detalhes, consulte Escolhendo um padrão de troca de mensagens.
Crie uma fábrica de canais e um ouvinte (IChannelFactory e IChannelListener) que suportem o seu padrão de troca de mensagens. Para obter detalhes sobre o desenvolvimento de fábricas, consulte Cliente: fábricas e canais de canal. Para obter detalhes sobre o desenvolvimento de ouvintes, consulte Serviço: ouvintes e canais de canal.
Certifique-se de que todas as exceções específicas da rede sejam normalizadas para uma System.TimeoutException ou para a classe derivada apropriada de CommunicationException. Para obter detalhes, consulte Tratamento de exceções e falhas.
Para habilitar o uso da camada de aplicativo, adicione um BindingElement que adiciona o canal personalizado a uma pilha de canais. Para obter mais informações, consulte Criando um BindingElement.
As seguintes etapas adicionais são necessárias para habilitar um suporte mais completo na camada de aplicativo:
Adicione uma seção de extensão de elemento de vinculação para expor o novo elemento de vinculação ao sistema de configuração. Para obter mais informações, consulte Suporte a configuração e metadados.
Adicione extensões de metadados para comunicar recursos a outros pontos de extremidade. Para obter mais informações, consulte Suporte a configuração e metadados.
Adicione uma associação que pré-configure uma pilha de elementos de vinculação de acordo com um perfil bem definido. Para obter mais informações, consulte Criando ligações definidas pelo usuário.
Adicione uma seção de vinculação e um elemento de configuração de vinculação para expor a associação ao sistema de configuração. Para obter mais informações, consulte Suporte a configuração e metadados.