2011-10-12 44 views
0

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

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

回答

2

挂钩自定义IErrorHandler来执行异常转换。

+0

我没有任何问题获得显式调用的WCF方法中发生的错误,以便将良好形成的自定义错误返回给客户端。问题在于在Sync Framework中调用了这些WCF方法。在WCF错误处理程序代码执行后,Sync Framework被重新命名为我的错误,所以客户端只能看到重新抛出的错误中包含的错误。这是我想要避免的行为。 –

+1

您可能需要挂接到MSF事件以捕获异常并在MSF内以不同的方式处理异常。您可以设置具有配置的MSF输出跟踪记录以帮助您识别问题。 –

+0

罗里,感谢您的评论,这有助于。最后,我可以将调用封装到SyncAgent中的Synchronize中,并去除FaultException并仅将其提交给客户端应用程序。 –