2010-07-22 15 views
6

Escribo el servicio WCF y quiero mantener su registro de actividad: rastreo, advertencias y mensajes de error. El enfoque más sencillo es ajustar todo el código de servicio de contrato dentro de las secciones try/catch y escribir mensajes de error de catch excepciones de error de contrato de servicio de reintroducción de parte.WCF: manejo de errores del lado del servidor. mejor práctica

Supongo que sería bueno si hubiera un punto de código para capturar todas las excepciones no detectadas en lugar de docenas de secciones try/catch. También sería útil escribir los parámetros del método de contrato desde ese punto para proporcionar información de error detallada.

¿Es posible con WCF?

¿Cuál es la mejor práctica para organizar el manejo de errores dentro de los servicios de WCF?

¡Gracias de antemano!

Respuesta

4

Tenga una mirada en IErrorHandler interfaz

Permite un implementador para controlar el mensaje de error devuelto a la persona que llama y, opcionalmente, realiza el procesamiento de error personalizado como la tala

Puede implementar su comportamiento en servicio (véase IServiceBehavior interfaz) y agregue su controlador a los manejadores de errores ChannelDispatcher.

Consulte WCF Exception Handling with IErrorHandler para obtener más información.

+0

Este artículo ya no está disponible, y no puedo encontrarlo archivado en ningún lado ... ¿Conoces otro lugar donde se haya publicado? –

0

No estoy seguro de si esto funciona en WCF pero puede probar el AppDomain.UnhandledException Evento.

+0

'AppDomain.UnhandledException' no es el lugar para manejar excepciones, solo para registrarlas. Porque si la excepción se propaga a ese nivel, la aplicación va a terminar. – Darius

Cuestiones relacionadas