c# - 如何跟踪 WCF 序列化问题/异常

标签 c# .net wcf wcf-faults wcf-serialization

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

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

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

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

谢谢

最佳答案

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

<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

关于c# - 如何跟踪 WCF 序列化问题/异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779757/

相关文章:

c# - How to group checkboxes in treeview wpf mvvm when selection range is [0,1]

.net - 使用具有 ThreadStatic 属性的并行扩展。它会泄漏内存吗?

asp.net - 我们可以在同一个服务(ServiceContract)中为不同的方法(OperationContract)使用 DataContractSerializer 和 XMLFormatSerializer 吗?

wcf - 从 WCF 使用 Web 服务

c# - 在应用程序关闭时关闭另一个进程

c# - 属性 'x' 不是实体类型 'y' 的导航属性

c# - 识别字符串是否包含反斜杠逗号或插入符号的正则表达式

c# - .NET 单元测试包

c# - 是否可以将属性的使用限制在某些接口(interface)上?

wcf - 我可以将 system.serviceModel 拆分为单独的 .config 文件吗?