Rebus传奇可以分为多个处理程序类吗?
我有一个Rebus saga工作流程,该工作流程由许多消息类型启动,并且仅由两种消息类型完成。
我不想由一个单独的类来实现所有各种IAmInitiatedBy<T>
和IHandleMessage<T>
,而是希望将每个启动工作流的消息分为一个类。还有一个类负责处理完成工作流程的消息。
因此,如果有任何新的要求也可以启动工作流程,我只需创建一个新的处理程序,而不更新现有的处理程序。
这是Rebus Sagas的有效用例吗?为了将处理程序划分为多个类,所有处理程序都使用相同的SagaData类型。
对此的初始测试似乎正在工作,但是我们现有的工作流单元测试使用的是SagaFixture,我无法跨多个固定装置一起工作。
答案 0 :(得分:1)
它应该可以正常工作,但是正如您已经正确发现的那样,SagaFixture
并不是真正适合提供多种传奇处理程序类型。
如果您有兴趣提供帮助,建议您使用Rebus.TestHelpers存储库。我很乐意帮助您提交PR。