是否可以使用相同的已启动消息和相同的端点启动不同的传闻?
例如,我想处理一条消息“user-signed-in”。
我有两种不同的传奇,应该从上面的消息开始:
那种传奇是完全不同的,并且有不同的类名和传奇数据类名称。
问题是:当“用户登录”消息出现时,两个sagas都会启动吗?
答案 0 :(得分:3)
端点收到的单条消息可以启动多个传奇。
您需要将两种传奇标记为该消息类型启动。例如:
public class UserSessionSaga : IAmStartedByMessages<UserSignedIn>...
和
public class UserPurchasesSaga : IAmStartedByMessages<UserSignedIn>...
UserSessionSaga
将通过与完成UserPurchasesSaga
的活动不同的活动(退出)完成。为此,您必须使用IHandleMessages<T>
指定每个saga可以处理的其他消息,并关联每个saga可以处理的所有消息。有关语法,请参阅documentation here。