Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何跟踪WCF序列化问题/异常_C#_.net_Wcf_Wcf Faults_Wcf Serialization - Fatal编程技术网

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

C# 如何跟踪WCF序列化问题/异常,c#,.net,wcf,wcf-faults,wcf-serialization,C#,.net,Wcf,Wcf Faults,Wcf Serialization,我偶尔会遇到这样的问题,即在WCF序列化期间(从OperationContract返回DataContract之后)引发应用程序异常。我得到的唯一(也不那么有意义)信息是 System.ServiceModel.CommunicationException :基础连接为 关闭:连接已关闭 想不到 没有任何对内部异常的洞察,这使得在序列化过程中很难找出导致错误的原因 有人知道如何跟踪、记录和调试这些异常吗?或者更好的是,我可以捕获异常,处理它们并向客户端发送定义的错误消息吗 谢谢如果您这样配置服务

我偶尔会遇到这样的问题,即在WCF序列化期间(从OperationContract返回DataContract之后)引发应用程序异常。我得到的唯一(也不那么有意义)信息是

System.ServiceModel.CommunicationException :基础连接为 关闭:连接已关闭 想不到

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

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


谢谢

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

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

...
...
此外,还可以启用跟踪。现在没有找到一篇好文章,但这可能会让您开始:


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

谢谢您的回复。includeExceptionDetailInFaults属性仅适用于发生在OperationContract边界内的异常。序列化期间的问题发生在这些边界之外。您的第二个建议可能是记录(但不是处理)这些问题的解决方案。我会更深入地了解它。非常感谢你的链接。日志记录帮助我找到了问题。