2010-10-20 13 views
7

Si ocurre una excepción en mi servicio WCF, ¿cuál es la mejor manera de comunicar ese error al cliente?WCF Exception Handling

¿Debo iniciar sesión en el servicio y volver a lanzar una excepción de jabón? ¿O debería registrarlo y devolver un mensaje fácil de usar?

Respuesta

11

El uso de FaultException fuertemente tipeado o sin tipeo es una forma de lograr esto. Hay un excelente artículo Simplifying WCF: Using Exceptions as Faults que describe cómo usar cada uno. Como señala el artículo, dependiendo de la complejidad de su servicio, puede optar por elegir FaultException más simple y pasar información de excepción al cliente.

+0

+1 para un gran enlace – Askolein

+0

Este enlace está roto. – Dan

+0

Bueno, han pasado 6 años desde mi publicación ... Sí, el enlace está roto, pero está disponible en el archivo: http://web.archive.org/web/20160323202540/http://www.olegsych.com/ 2008/07/simplifying-wcf-using-exceptions-as-faults / – zam6ak

1

Me gustaría iniciar sesión y devolver un FaultException. Cuando crea la FaultException, puede pasar un mensaje fácil de usar al cliente.

0

Se supone que una excepción es un evento excepcional, por lo que no debe preocuparse por los mensajes agradables. Si las excepciones solo ocurren cuando tiene un error, simplemente vuelva a lanzarlo como una excepción genérica y regístrese. No debería ser un problema.

Sin embargo, cuando las excepciones se producen como parte de su proceso normal, devolver buenos mensajes sería una buena idea.