【发布时间】:2012-01-24 22:03:29
【问题描述】:
我有一个从客户端调用的 WCF 服务。当客户端之间来回数据密集,调试过程中客户端停止时,不知何故服务中出现异常,必须重新加载服务。就我而言,该服务大约需要 10 分钟才能加载(它加载数据)。我不会在 WCF 本身中抛出任何异常。我将所有服务调用/函数封装在“try and catch { return null }”中(将 null 返回给客户端而不是中断),但是客户端中仍然发生异常并且服务中断。
这个错误发生在哪里?这是通信异常,WCF 服务内部的一些随机异常。我想捕捉这个异常,而不是让整个服务出错(需要等待 10 分钟才能重新启动服务)。是否有任何工具/代码可以捕获 WCF 内的任何和所有异常并且不会使其出错。网络连接中断等一些例外情况是我们无法控制的。我不会抛出任何我自己的异常,例如“新异常(“发生某事”)。)
感谢您的帮助。
【问题讨论】:
-
有什么异常?它说什么?有内部异常吗?需要更多细节。
-
它是“CommunicationException”。
-
{"底层连接已关闭:接收时发生意外错误。"} {"无法从传输连接读取数据:现有连接被远程主机强制关闭。"} {“接收到asdf232.com/Service.svc 的 HTTP 响应时发生错误。这可能是由于服务端点绑定未使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能是由于服务正在关闭)。有关详细信息,请参阅服务器日志。"}