我可以通过名称调用动态传奇吗?

Can i call a dynamic saga by name?

我有一个按名称唯一标识的产品列表。每个产品都有自己的订购流程。我希望每个产品订购流程都由一个传奇来定义。有没有办法让我使用不同的传奇来处理每个产品?我可以为此使用端点吗? bus.Send(产品名称,消息)有用吗?

我希望这是有道理的。

简短的回答是不,你不能通过名字来称呼传奇。但是,您可以使用标准消息传递轻松地做到这一点。您只需创建一个新的更具体的消息,它继承自您的产品消息库 class。然后通过该消息类型启动您的产品特定传奇。

您可以执行一些自定义的 saga 查找逻辑(如 here) to control this. For a more complete example, check out this blog post 所述,其中显示了如何基于 headers 执行此操作。