WCF中的错误处理 - 如何将错误传递给客户端以及保留" Open"中的通道。状态

时间:2015-06-10 15:39:10

标签: c# wcf error-handling

我想实现模式,在该模式下,我的WCF服务中的所有应用程序定义的错误都将传递给客户端,但通信通道必须保持Open状态。

在当前点,第一个任务是通过IncludeExceptionDetailInFaults = true实现的,但在第一个例外之后,通信信道状态从Open移动到Fault。如何防止这种行为(服务代码中第一个异常后通信通道损坏)?

1 个答案:

答案 0 :(得分:2)

故障渠道无法关闭,无法再次使用。通过调用Abort()方法,必须中止出现故障通道。而不是使用"IncludeExceptionDetailInFaults = true",最好抛出FaultExceptions。并且还建议您使用FaultContractAttribute设计服务以返回强类型 SOAP 错误。