WCF中的错误处理-如何将错误传递给客户端,同时保持通道在“打开”状态;状态
本文关键字:状态 错误 通道 打开 客户端 处理 WCF | 更新日期: 2023-09-27 17:54:52
我想实现这样一种模式,在这种模式下,我的WCF服务中所有应用程序定义的错误都将传递给客户端,但通信通道必须保持在Open
状态。
当前第一个任务是通过IncludeExceptionDetailInFaults = true
实现的,但在第一个异常之后,通信通道状态从Open
移动到Fault
。如何防止这种行为(在服务代码中出现第一个异常后通信通道的损坏)?
故障通道不能关闭,不能再次使用。故障通道必须通过调用Abort()
方法终止。另外,与其使用"IncludeExceptionDetailInFaults = true"
,不如使用FaultExceptions
。并且还建议您使用FaultContractAttribute
来设计您的服务,以返回强类型的SOAP错误。