Rebus英雄传奇在多个处理程序之间分配

时间:2018-12-07 08:48:03

标签: rebus saga

Rebus传奇可以分为多个处理程序类吗?

我有一个Rebus saga工作流程,该工作流程由许多消息类型启动,并且仅由两种消息类型完成。

我不想由一个单独的类来实现所有各种IAmInitiatedBy<T>IHandleMessage<T>,而是希望将每个启动工作流的消息分为一个类。还有一个类负责处理完成工作流程的消息。

因此,如果有任何新的要求也可以启动工作流程,我只需创建一个新的处理程序,而不更新现有的处理程序。

这是Rebus Sagas的有效用例吗?为了将处理程序划分为多个类,所有处理程序都使用相同的SagaData类型。

对此的初始测试似乎正在工作,但是我们现有的工作流单元测试使用的是SagaFixture,我无法跨多个固定装置一起工作。

1 个答案:

答案 0 :(得分:1)

它应该可以正常工作,但是正如您已经正确发现的那样,SagaFixture并不是真正适合提供多种传奇处理程序类型。

如果您有兴趣提供帮助,建议您使用Rebus.TestHelpers存储库。我很乐意帮助您提交PR。