【问题标题】:Conditional transition in MassTransit Automatonymous sagaMassTransit Automatonymous saga 中的条件转换
【发布时间】:2016-03-23 09:24:11
【问题描述】:

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

说,我有这样的事情:

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

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

【问题讨论】:

    标签: masstransit automatonymous


    【解决方案1】:

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

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

    【讨论】:

    • 我可以在一个状态下有多个When(StatusChecked, condition),用于相同的消息类型吗?
    • 是的,但是每个 .When() 都需要有自己的执行分支。您的其他问题应该为您提供一种重用行为的方法。
    • 加上评论 “你的其他问题” 我假设你指的是stackoverflow.com/a/36192707/537842
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多