0

我正在尝试将最初为 WSE 编写的框架改编为 WCF。框架有时会从其内部深处抛出SoapExceptions,我想将其捕获并转换为FaultExceptionWCF 框架将处理的对象。

为了使该框架的现有客户端继续工作,我需要<detail>SOAP 错误消息的字段与该字段中的内容完全相同SoapException.Detail,但我找不到实现此目的的方法。MSDN 上的所有文档都适用于使用序列化的详细信息对象,这对我不起作用。有什么方法可以强制SoapException转换为一个FaultExceptionFaultException<T>对象,使参与者、代码和详细信息字段不受原始肥皂异常的影响?

4

1 回答 1

1

是的,当然,但我不确定——根据你的问题——你是否针对你的情况探索并消除了这个选项。

您可以使用自定义 WCF 错误处理程序并将故障异常的 Detail 字段设置为您想要的任何内容,而无需在分配过程中涉及任何序列化或反序列化(在 HandleFault 或 ProvideFault 方法中)。请参阅http://wcfpro.wordpress.com/2010/11/18/wcf-extensions-error-handler/http://wcfpro.wordpress.com/2011/01/04/ catch-the-real-exception/ ,和http://blogs.msdn.com/b/pedram/archive/2008/01/25/wcf-error-handling-and-some-best-practices.aspx来做到这一点。

于 2011-03-31T14:38:50.883 回答