我有一个可以处理多条消息的传奇:
public class OrderSaga : ISaga<Order>
, InitiatedBy<StartOrderSaga>
, Orchestrates<CancelOrder>
, Orchestrates<PaymentForOrderReceived>
, Orchestrates<CheckOrderWasPaid>
, Orchestrates<OrderAbandoned>
, Orchestrates<CheckOrderHasBeenShipped>
, Orchestrates<OrderShipped>
, Orchestrates<CheckOrderHasDelayDuringShipment>
, Orchestrates<OrderArrivedAtDestination>
, Orchestrates<OrderCompleted>
{...}
但仅限Orchestrates&lt; CancelOrder&gt;似乎被接受了。所以我想(我没有找到这条线,但是这是如此强烈的印象),只有第一个Orchestrates注册。
可能这是设计上的。从我想象的那个传奇来看,它收到许多不同的信息似乎是合乎逻辑的,但我可能错了。我的整个假设也可能是错的:)
我该怎么办呢? Sagas应该只处理一个(在我的情况下)一个ChangeStateMessage&lt; State&gt;或者我应该手动连接其他ConsumerOfs / Orchestrates?