【发布时间】:2018-12-07 20:38:57
【问题描述】:
可以将 Rebus saga 拆分为多个处理程序类吗?
我有一个 Rebus saga 工作流,它由许多消息类型启动,并且仅由两种消息类型完成。
我不想让单个类实现所有各种IAmInitiatedBy<T> 和IHandleMessage<T>,而是将它们拆分为每个启动工作流的消息的一个类。还有一个类处理完成工作流的消息。
因此,如果有任何新的需求也可以启动工作流,我只需创建一个新的处理程序而不是更新现有的处理程序。
这是 Rebus Sagas 的有效用例吗?将处理程序拆分到多个类中,所有类都使用相同的 SagaData 类型。
对此的初步测试似乎有效,但我们现有的工作流单元测试使用的是 SagaFixture,我无法跨多个夹具一起工作。
【问题讨论】: