Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O conteúdo em uma mensagem geralmente está na forma de XML, que geralmente não é um formato conveniente para um aplicativo. Os aplicativos manipulam objetos, obtendo e definindo suas propriedades. O WCF (Windows Communication Foundation) usa o Contrato de Dados para converter um Message objeto em um objeto facilmente manipulado por um aplicativo. Esses processos são chamados de serialização e desserialização. Observe que esses mesmos termos são usados para descrever a serialização e a desserialização feitas pela camada de transporte de e para o formato de transmissão de mensagem, que é um processo não relacionado.
Você pode usar um formatador de mensagens personalizado se precisar implementar uma conversão especializada entre mensagens e objetos que você não pode realizar por meio de um Contrato de Dados. Faça isso modificando ou estendendo o comportamento de execução de uma operação de contrato específica em um cliente ou serviço.
Formatar mensagens personalizadas no cliente
A IClientMessageFormatter interface define métodos usados para controlar a conversão de mensagens em objetos e objetos em mensagens para aplicativos cliente.
Você deve implementar essa interface. Primeiro, substitua o método DeserializeReply para desserializar uma mensagem. Esse método é chamado depois que uma mensagem de entrada é recebida, mas antes de ser enviada para a operação do cliente.
Em seguida, sobrescreva o método SerializeRequest para serializar um objeto. Esse método é chamado antes de enviar uma mensagem de saída.
Para inserir o formatador personalizado no aplicativo de serviço, atribua o objeto IClientMessageFormatter à propriedade Formatter usando um comportamento de operação. Para obter informações sobre comportamentos, consulte Configurando e Estendendo o Tempo de Execução com Comportamentos.
Formatadores de Mensagens Personalizadas no Serviço
A interface IDispatchMessageFormatter define métodos que convertem um objeto Message em parâmetros para uma operação e convertem de parâmetros para um objeto Message em um aplicativo de serviço.
Você deve implementar essa interface. Primeiro, substitua o método DeserializeReply para desserializar uma mensagem. Esse método é chamado depois que uma mensagem de entrada é recebida, mas antes de ser enviada para a operação do cliente.
Em seguida, sobrescreva o método SerializeRequest para serializar um objeto. Esse método é chamado antes de enviar uma mensagem de saída.
Para inserir o formatador personalizado no aplicativo de serviço, atribua o objeto IDispatchMessageFormatter à propriedade Formatter usando um comportamento de operação. Para obter informações sobre comportamentos, consulte Configurando e Estendendo o Tempo de Execução com Comportamentos.