9

我偶尔会遇到在 WCF 序列化期间抛出应用程序异常的问题(在从我的 OperationContract 返回 DataContract 之后)。我得到的唯一(而且意义不大)的信息是

System.ServiceModel.CommunicationException :基础连接已关闭:连接意外关闭。

对内部异常没有任何了解,这使得在序列化过程中很难找出导致错误的原因。

有人知道如何跟踪、记录和调试这些异常的好方法吗?或者更好的是我可以捕获异常,处理它们并将定义的 FaulMessage 发送到客户端吗?

谢谢你

4

2 回答 2

6

如果你像这样配置你的服务行为,你应该得到内部异常:

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

此外,您可以启用跟踪。现在没有找到好的文章,但也许​​这会让你开始:

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

于 2010-05-06T10:39:29.213 回答
0

我遇到了这个问题,这是一个序列化问题......有时我发送的 DataTable 没有任何列,在这种情况下,通道只是关闭而没有任何错误或跟踪。

于 2010-09-15T20:47:48.013 回答