2016-03-23 4 views
3

私は受信したメッセージに満足できる値が得られるまで、サガにいくつかの状態を持ち、ステータスチェックのリトライを実装しようとしています。MassTransitの条件遷移Automatonymous saga

言って、私はこのようなものがあります:

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

を私はTransitionToに特定の状態を養うことができますが、私はそれが受信したメッセージの内容に応じて、移行したい、それは可能ですか?

答えて

5

受信メッセージの内容については、When句の条件式を使用できます。

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

同じメッセージタイプの複数の「When(StatusChecked、condition')を1つの状態にすることはできますか? –

+0

はい、ですが、それぞれが独自の実行分岐を持つ必要があります。あなたのもう一つの質問は、あなたに行動を再利用する方法を与えるはずです。 –