Search code examples
c#.netwcfwcf-faultswcf-serialization

How to trace WCF serialization issues / exceptions


I occasionally run into the problem that an application exception is thrown during the WCF-serialization (after returning a DataContract from my OperationContract). The only (and less meaningfull) message I get is

System.ServiceModel.CommunicationException : The underlying connection was closed: The connection was closed unexpectedly.

without any insight to the inner exception, which makes it really hard to find out what caused the error during serialization.

Does someone know a good way how you can trace, log and debug these exceptions? Or even better can I catch the exception, handle them and send a defined FaulMessage to the client?

thank you


Solution

  • You should get the inner exception if you configure your service behavior like this:

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

    Additionally you can enable tracing. Did not find a good article now, but maybe this gets you started:

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