我只是在开发我的第一个 WCF WebMethod,并且正在研究错误处理。
在花了一周时间阅读之后,普遍的共识似乎是 WCF WebMethods 中的错误应该被抛出为WebFaultException
, 或FaultException
。此外,许多教程教导说 usingFaultException(Of T)
提供了更好的功能。这似乎很简单......
然后,我发现一个消息来源指出,当 WebMethod 被非 .NET 应用程序(例如 Java 等)使用时,抛出 CLR 异常并不好,并且应该使用 SOAP 错误。
有人可以澄清一下逻辑是否内置在 WCF 4.5 中以自动转换FaultException
并转换FaultException(Of T)
为外部系统可以处理/理解的 SOAP 错误吗?
一般来说,其他人如何将错误传达给外部系统?