为什么通过WCF服务抛出SoapException被视为FaultException?

时间:2015-09-11 12:01:54

标签: c# wcf soap

当我在服务方面抛出SoapException时,我很困惑:

 Throw New SoapException("Error Message", SoapException.ClientFaultCode)

在客户端,异常被视为FaultException - 它会进入此捕获

Catch ex As FaultException(Of ExceptionDetail)

为什么这不是SoapException因此进入下面?

e.g。

Catch ex As SoapException

1 个答案:

答案 0 :(得分:2)

当你扔掉一个以外的东西时 FaulExceptionFaultException(Of TDetail)(其中SoapException不是),WCF会抛出FaultException

我怀疑你已ServiceBehaviorAttribute.IncludeExceptionDetailInFaults开启?这就是WCF发送FaultException(Of ExceptionDetail)的原因,ExceptionDetail从您投掷的异常中初始化。