C# 在WCF中引发异常而不引发异常

C# 在WCF中引发异常而不引发异常,c#,wcf,C#,Wcf,我有一个从客户端调用的WCF服务。当客户机和客户机之间存在数据密集型来回时,客户机在调试期间停止,不知何故服务中存在异常,必须重新加载服务。在我的例子中,服务加载大约需要10分钟(它加载数据)。我不会在WCF本身中抛出任何异常。我将所有服务调用/函数包装在“try-and-catch{return null}”(将null返回给客户机而不是中断)中,但是异常仍在客户机中发生,服务中断 这个错误发生在哪里?这就是通信异常,WCF服务内部的一些随机异常。我希望捕获此异常,而不是对整个服务进行故障诊断

我有一个从客户端调用的WCF服务。当客户机和客户机之间存在数据密集型来回时,客户机在调试期间停止,不知何故服务中存在异常,必须重新加载服务。在我的例子中,服务加载大约需要10分钟(它加载数据)。我不会在WCF本身中抛出任何异常。我将所有服务调用/函数包装在“try-and-catch{return null}”(将null返回给客户机而不是中断)中,但是异常仍在客户机中发生,服务中断

这个错误发生在哪里?这就是通信异常,WCF服务内部的一些随机异常。我希望捕获此异常,而不是对整个服务进行故障诊断(需要等待10分钟才能重新启动服务)。是否有任何工具/代码可以捕获WCF中的任何和所有异常,而不使其出错。一些例外情况,如网络连接中断,超出了我们的控制范围。我不会抛出任何异常,比如我自己的“新异常”(“发生了什么事”)


感谢您的帮助。

请参考我的答案以启用跟踪,这样您就可以找出WCF服务中出现异常的位置。除此之外,我怀疑是否有人能为您提供一个确切的理由,说明您的WCF服务遇到问题的原因。

猜一猜:您说您的服务加载了大量数据。您需要多少数据是否从服务返回?如果返回大量列表,此异常可能是由错误的客户端-服务器配置引起的。您可能应该增加maxReceivedMessageSize和maxBufferSize;有时还应增加服务器和客户端上DataContractSerializer的maxItemsInObjectGraph


此外,为了捕获服务器上的所有异常,而不是多个try-catch块,您可以实现IErrorHandler。

异常是什么?它说什么?是否存在内部异常?需要更多详细信息。它是“CommunicationException”。{“基础连接已关闭:接收时发生意外错误。”}{”无法从传输连接读取数据:远程主机强制关闭了现有连接。“}{”在接收对的HTTP响应时出错。这可能是由于服务端点绑定未使用HTTP协议。这也可能是由于服务器中止了HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。“}这是在调试过程中发生的,如MSDN communicationexceptionarticle中所述。有关故障等的信息。