Como capturar exceções não tratadas ao usar o .NET Remoting
-
09-06-2019 - |
Pergunta
Quero capturar todas as exceções não tratadas lançadas em um objeto remoto em o servidor e registre-os lá antes de traduzi-los em alguma exceção personalizada, para que exceções específicas não cruzem o limite cliente/servidor.
Acho que preciso usar uma sincronização de canal personalizada, mas alguém pode confirmar isso e/ou ter algum outro conselho para dar?
Solução 2
Depois de encontrar Eliyahu Baker postagem útil no blog e lendo o capítulo 12 de Remoção .NET avançada da Rammer Eu escrevi um coletor de canal personalizado que faz o que eu quero.Isso intercepta qualquer exceção e a registra localmente antes de enviá-la ao cliente.
Idealmente, eu gostaria de registrar a exceção e gerar uma mais genérica para o cliente, mas ainda não descobri essa noz.
Outras dicas
Eu usaria o bloco do aplicativo Microsoft Enterprise Library Exception Handling - ele permite lidar com erros e converter tipos específicos de exceção em um tipo diferente de exceção antes de relançar para o cliente.