【问题标题】:Rebus saga split among multiple handlersRebus saga 在多个处理程序之间拆分
【发布时间】:2018-12-07 20:38:57
【问题描述】:

可以将 Rebus saga 拆分为多个处理程序类吗?

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

我不想让单个类实现所有各种IAmInitiatedBy<T>IHandleMessage<T>,而是将它们拆分为每个启动工作流的消息的一个类。还有一个类处理完成工作流的消息。

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

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

对此的初步测试似乎有效,但我们现有的工作流单元测试使用的是 SagaFixture,我无法跨多个夹具一起工作。

【问题讨论】:

    标签: rebus saga


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多