将框架异常处理为WCF故障

将框架异常处理为WCF故障,wcf,microsoft-sync-framework,Wcf,Microsoft Sync Framework,我正在使用WCF和同步框架来同步SQL 2008和SQL Ce 3.5之间的数据。如果服务器出现问题,我只想将格式良好的自定义错误发送回客户端。但是,我遇到的问题是,当一个Sync框架方法是错误的来源时,我的错误被包装在一个通用的“由调用目标引发的异常”中,并返回到客户端,其中自定义错误作为内部异常。因此,客户端必须将错误捕获为一般异常,然后处理内部异常 如何剥离包装异常并向服务使用者显示真正的错误?连接自定义IErrorHandler以执行异常转换 我在获取显式调用的WCF方法中发生的错误以将

我正在使用WCF和同步框架来同步SQL 2008和SQL Ce 3.5之间的数据。如果服务器出现问题,我只想将格式良好的自定义错误发送回客户端。但是,我遇到的问题是,当一个Sync框架方法是错误的来源时,我的错误被包装在一个通用的“由调用目标引发的异常”中,并返回到客户端,其中自定义错误作为内部异常。因此,客户端必须将错误捕获为一般异常,然后处理内部异常


如何剥离包装异常并向服务使用者显示真正的错误?

连接自定义IErrorHandler以执行异常转换

我在获取显式调用的WCF方法中发生的错误以将格式良好的自定义错误返回给客户端方面没有问题。问题在于从同步框架内调用这些WCF方法。同步框架在执行WCF错误处理程序代码后重新抛出我的错误,因此客户端只看到重新抛出错误中包含的错误。这是我试图避免的行为。您可能需要钩住MSF事件以捕获异常并在MSF中以不同方式处理它。有一个配置,您可以设置为有MSF输出跟踪记录,以帮助您识别问题。Rory,感谢您的评论,这很有帮助。最后,我能够在SyncAgent中包装同步调用,去掉FaultException,只将其提交给客户端应用程序。