MassTransit Automatonymous 传奇中的条件转换

Conditional transition in MassTransit Automatonymous saga

我在 saga 中有一些状态,并尝试实施状态检查重试,直到我在收到的消息中获得一些令人满意的值。

说,我有这样的东西:

.During(Pending,
    When(StatusChecked)
        .TransitionTo(somethingThatDependsOnStatusCheckedData)

我只能向 TransitionTo 提供特定状态,但我希望它根据收到的消息内容进行转换,这可能吗?

对于接收到的消息内容,可以在When子句上使用条件表达式。

During(Pending,
    When(StatusChecked, context => context.Data.IsMessageCondition)
        .Then(...));