我想实现模式,在该模式下,我的WCF服务中的所有应用程序定义的错误都将传递给客户端,但通信通道必须保持Open
状态。
在当前点,第一个任务是通过IncludeExceptionDetailInFaults = true
实现的,但在第一个例外之后,通信信道状态从Open
移动到Fault
。如何防止这种行为(服务代码中第一个异常后通信通道损坏)?
答案 0 :(得分:2)
故障渠道无法关闭,无法再次使用。通过调用Abort()
方法,必须中止出现故障通道。而不是使用"IncludeExceptionDetailInFaults = true"
,最好抛出FaultExceptions
。并且还建议您使用FaultContractAttribute
设计服务以返回强类型 SOAP 错误。