Exception handling Windows工作流-无法处理ReceiveActivity中的异常

Exception handling Windows工作流-无法处理ReceiveActivity中的异常,exception-handling,workflow-foundation,Exception Handling,Workflow Foundation,我有一个顺序工作流,它作为工作流服务托管在IIS中 我的工作流从ReceiveActivity开始,在ReceiveActivity中,通过SendActivity调用WCF服务。如果此调用接收到异常,则my ReceiveActivity上有一个FaultHandlerActivity,用于处理调用,并将默认值发送回客户端 在我的客户机中发生的情况是,SendActivity上的异常作为FaultException冒泡返回到客户机,即使我的FaultHandlerActivity正在运行(我通

我有一个顺序工作流,它作为工作流服务托管在IIS中

我的工作流从ReceiveActivity开始,在ReceiveActivity中,通过SendActivity调用WCF服务。如果此调用接收到异常,则my ReceiveActivity上有一个FaultHandlerActivity,用于处理调用,并将默认值发送回客户端

在我的客户机中发生的情况是,SendActivity上的异常作为FaultException冒泡返回到客户机,即使我的FaultHandlerActivity正在运行(我通过在故障处理程序中记录单个CodeActivity的开始和结束来验证这一点)

我的问题是:如何在不将FaultException返回给客户端的情况下接受SendActivity中出现的异常?

好的,我已经解决了

我的receiveActivity上直接有一个错误处理程序。然后发生的情况是,如果任何子活动引发异常,将调用receive活动上的错误处理程序,并将其设置为Faulted状态,然后将接收到的异常返回到客户端应用程序—无论我是否希望如此

解决方案是在receiveActivity中添加一个sequence活动,在sequence活动中执行所有处理,并在sequence中添加一个faultHandlerActivity,这将设置我的默认返回值

接收活动从不出错,并且不会将异常返回到我的客户端,但会返回在序列的FaultHandler中设置的默认值

希望这能帮助其他人解决同样的问题