2010-05-06 8 views
8

Ocasionalmente encuentro el problema de que se lanza una excepción de aplicación durante la serialización de WCF (después de devolver un DataContract desde mi OperationContract). La única (y menos meaningfull) mensaje que recibo esCómo rastrear problemas/excepciones de serialización de WCF

System.ServiceModel.CommunicationException : La conexión subyacente era cerrado: La conexión se cerró inesperadamente.

sin ninguna idea de la excepción interna, lo que hace que sea muy difícil averiguar qué causó el error durante la serialización.

¿Alguien sabe de una buena manera cómo puede rastrear, registrar y depurar estas excepciones? ¿O mejor aún puedo capturar la excepción, manejarlos y enviar un FaulMessage definido al cliente?

agradecimiento

Respuesta

5

Debe obtener la excepción interna si configura su comportamiento en servicio de esta manera:

<system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
       <behavior name="YourServiceBehaviour"> 
        ... 
        <serviceDebug includeExceptionDetailInFaults="true" /> 
        ... 
       </behavior> 
     </serviceBehaviors> 
    </behaviors> 
</system.serviceModel> 

Además, puede habilitar el seguimiento. ¿No ha encontrado un buen artículo, pero tal vez esto le ayudará a comenzar:

http://developers.de/blogs/damir_dobric/archive/2009/03/24/using-of-wcf-trace.aspx

+4

gracias por su respuesta. El atributo includeExceptionDetailInFaults solo se aplica a las excepciones que se producen dentro de los límites de OperationContract. los problemas durante la serialización ocurren fuera de estos límites. Su segunda propuesta podría ser una solución para registrar (pero no manejar) estos problemas. Voy a echar un vistazo más profundo. – Fabiano

+0

Muchas gracias por el enlace. La registración me ayudó a encontrar el problema. – Walkor

0

tuve ese problema, y ​​que era un problema de serialización ... a veces me estaba enviando un DataTable sin ninguna columna, en la que caso el canal acaba de cerrarse sin ningún error o rastro.

Cuestiones relacionadas