我的活动在执行过程中不时抛出异常,因此我实现了 Faulted 方法Activity<TInstance>
来处理它,丢弃了在方法中所做的更改Execute
。我认为在 Automatonymous 中存在一些布线,使得在Execute
方法抛出异常时执行 Faulted 方法,然后为已经执行的活动调用 Faulted 方法。事实证明,没有这样的事情,因为我的错误方法永远不会执行。
我应该在 try/catch 块中调用那些自己吗?我可以产生BehaviorExceptionContextProxy
基于BehaviorContext
和抛出的异常。我唯一Behavior
可以通过的下一个是插入到 that方法中Activity
的Execute
那个,但从逻辑上讲,这意味着我在错误的方向上进行补偿,因为下一个Behavior
实际上是在这个成功后执行的,所以我会补偿太多。
我还尝试使用Catch
状态机中的 ,它确实处理了异常,但是,当我只有现在时,我找不到任何方法来开始为失败的活动执行补偿流ExceptionActivityBinder
。
有什么好的方法可以触发活动的补偿流程吗?