Question

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

Was it helpful?

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

OTHER TIPS

I had that problem, and it was a serialization issue... sometimes I was sending a DataTable without any column, in that case the channel just closed without any error or trace.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top