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.
Os erros encontrados por um aplicativo WCF pertencem a um dos três grupos:
Erros de comunicação
Erros de canal/proxy
Erros de aplicativos
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 mensagens de entrada. Erros desse tipo são retornados ao cliente como classes derivadas de CommunicationException ou CommunicationException.
Erros de proxy/canal são erros que ocorrem no próprio canal ou proxy. Os erros desse tipo incluem: tentativa de usar um proxy ou canal fechado, uma incompatibilidade de contrato entre o cliente e o serviço ou as credenciais do cliente são rejeitadas pelo serviço. Há 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 desse tipo são enviados ao cliente como FaultException ou FaultException<TDetail>.
O tratamento de erros no WCF é executado por um ou mais dos seguintes procedimentos:
Manipulando diretamente a exceção gerada. Isso só é feito para erros de comunicação e proxy/canal.
Usando contratos de falha
Implementando a interface IErrorHandler
Tratamento de eventos ServiceHost
Contrato de falha
Os contratos de falha permitem definir os erros que podem ocorrer durante a operação de serviço de forma independente da plataforma. Por padrão, todas as exceções geradas 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 fornece controle total sobre a mensagem de falha que é retornada ao cliente e permite que você execute o processamento de erro personalizado, como registro em log. Para obter mais informações sobre IErrorHandler e Extensão do Controle sobre o Tratamento de Erros e Relatórios
Eventos do ServiceHost
A ServiceHost classe hospeda serviços e define vários eventos que podem ser necessários para lidar com erros. Por exemplo:
Para obter mais informações, veja ServiceHost