Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os erros encontrados por um aplicativo WCF pertencem a um dos três grupos:
Erros de comunicação
Erros de proxy/canal
Erros da Aplicação
Os erros de comunicação ocorrem quando uma rede não está disponível, um cliente usa um endereço incorreto ou o host de serviço não está escutando as mensagens recebidas. Erros desse tipo são retornados ao cliente como classes derivadas de CommunicationException ou CommunicationException.
Erros de proxy/canal são erros que ocorrem dentro do próprio canal ou proxy. Erros desse tipo incluem: tentar usar um proxy ou canal que foi fechado, existe uma incompatibilidade de contrato entre o cliente e o serviço ou as credenciais do cliente são rejeitadas pelo serviço. Existem muitos tipos diferentes de erros nesta categoria, muitos para listar aqui. Erros desse tipo são retornados ao cliente as-is (nenhuma transformação é executada nos objetos de exceção).
Erros de aplicativo ocorrem durante a execução de uma operação de serviço. Erros deste tipo são enviados ao cliente como FaultException ou FaultException<TDetail>.
A manipulação de erros no WCF é executada por um ou mais dos seguintes procedimentos:
Lidar diretamente com a exceção lançada. Esta prática é realizada apenas para erros de comunicação ou de canal/proxy.
Utilização de contratos de culpa
Implementação da IErrorHandler interface
Gestão de ServiceHost eventos
Contratos de Responsabilidade em Caso de Falhas
Os contratos de falha permitem definir os erros que podem ocorrer durante a operação do serviço de forma independente da plataforma. Por padrão, todas as exceções lançadas de dentro de uma operação de serviço serão retornadas ao cliente como um FaultException objeto. O FaultException objeto conterá muito pouca informação. Você pode controlar as informações enviadas ao cliente definindo um contrato de falha e retornando o erro como um FaultException<TDetail>. Para obter mais informações, consulte Especificando e tratando falhas em contratos e serviços.
IErrorHandler
A IErrorHandler interface permite que você tenha mais controle sobre como seu aplicativo WCF responde a erros. Ele lhe dá controle total sobre a mensagem de falha que é retornada ao cliente e permite que você execute o processamento de erros personalizado, como registro. Para obter mais informações sobre IErrorHandler e ampliação do controle sobre o tratamento e relato de erros
Eventos ServiceHost
A ServiceHost classe hospeda serviços e define vários eventos que podem ser necessários para lidar com erros. Por exemplo:
Para mais informações, consulte ServiceHost