1

假设我已经定义了路由单活动。在 Execute 方法中,我想进行几个异步服务调用。让我们假设 3 个服务调用。其中两个成功,一个失败。然后我想执行此活动的补偿操作,以补偿两次成功的服务调用引入的更改。从我看到的补偿仅针对以前的活动运行,当前活动补偿在其中某处出现异常时没有机会被调用。有没有办法处理它或者我应该改变方法?

我想达到类似于在此处输入图像描述 使用 MassTransit 的目的。

4

1 回答 1

0

您应该有三个单独的活动,并按顺序执行它们,以便当它们单独成功时,它们会被添加到日志中。如果某项活动失败,之前的活动将得到补偿。

通过在单个活动中进行所有三个调用,您将违背拥有路由单和活动的全部原因。

于 2018-10-24T19:09:39.913 回答