Pregunta

Yo de vez en cuando con el problema de que una excepción de aplicación es lanzada durante la serialización de WCF (después de regresar de un DataContract de mi OperationContract). El único mensaje (y menos meaningfull) que consigo es

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

sin ningún tipo de penetración a la excepción interna, lo que hace que sea muy difícil de averiguar qué causó el error durante la serialización.

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

gracias

¿Fue útil?

Solución

Se debe recibir 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 encuentra un artículo bien ahora, pero tal vez esto le ayudará a comenzar:

http: // desarrolladores. es / blogs / damir_dobric / archivo / 2009/03/24 / usando-de-WCF-trace.aspx

Otros consejos

tuve ese problema, y ??que era un problema de serialización ... a veces me estaba enviando un DataTable sin ningún tipo de columna, en ese caso el canal acaba de cerrar sin ningún tipo de error o rastreo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top