首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以有一个NserviceBus传奇由相同的消息开始并处理吗?

我可以有一个NserviceBus传奇由相同的消息开始并处理吗?
EN

Stack Overflow用户
提问于 2011-12-12 03:21:37
回答 3查看 1.4K关注 0票数 3

快速问题:我有一个传奇故事,它可以有一个场景,它需要处理在两种情况下可能出现的消息。一个是传奇故事仍未结束的地方,另一个是传奇故事已被标记为完成的地方。

如果传奇是开放的,很好,照常继续。如果传奇没有打开,它需要开始一个新的传奇。处理这种情况的最佳实践是什么?显然,如果传奇是开放的,IHandleMessages<>工作得很好。但是,IAmStartedByMessages<>不会导致两个传奇被揭开吗?这将是很糟糕的。谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-21 20:27:52

如果已经打开的saga可以解决,IAmStartedByMessages<>将不会导致2个saga打开。不需要IHandleMessages<>,只使用IAmStartedByMessages<>就可以了。

票数 4
EN

Stack Overflow用户

发布于 2011-12-12 22:21:55

只要确保在ConfigureMapping覆盖中包含消息,您仍然可以使用IAmStartedByMessages<>处理消息。这样,根据您如何找到现有的saga,您将返回一个现有实例或创建一个新实例。HTH。

票数 2
EN

Stack Overflow用户

发布于 2011-12-12 23:28:37

正如我从NserviceBus资源中看到的,如果发现一些处理消息的saga,新的saga将不会启动。(我查看了NBus 2.0)

因此,您的方案应该可以正常工作。您可以很容易地从示例应用程序中检查这一点。

尽管如此,你描述的情况还是相当奇怪的。我更喜欢有两种消息类型,一种是saga start,另一种是saga work。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8466723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档