首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测事件的所有订阅者是否已响应

如何检测事件的所有订阅者是否已响应
EN

Stack Overflow用户
提问于 2013-11-12 11:07:15
回答 1查看 153关注 0票数 3

我现正调查地下铁路。我在星巴克样品的基础上写了一个简单的样本。

我有以下几件事:

代码语言:javascript
复制
    Define(() =>
    {
        Initially(
            When(ReportRequest)
                .Then((saga, message) => saga.ProcessReportRequest(message))
                .TransitionTo(WaitingForReportToComplete)
            );

        During(WaitingForReportToComplete, When(ReportComplete)
            .Then((saga, message) =>
                {
                    Console.WriteLine("Report Complete for '{0}'", saga.Name);
                    saga.CompleteReportRequest(message);
                })
                .Complete()
            );
    });

我遇到的问题是,我有ReportRequest事件的X订阅者,每个订阅者创建报告的一小部分。因此,要使报告被认为是完整的,所有订阅者都需要发出一个ReportComplete事件。目前,完成的第一个订阅者发出一个ReportComplete事件,然后佐贺也完成。

如何设置一个佐贺,以便它在完成之前等待所有X订阅者响应给定的消息?

EN

回答 1

Stack Overflow用户

发布于 2013-11-22 13:40:33

我认为这是一个两步的解决方案:

  • 首先,您需要“招募”您希望参与的所有订阅者。这可能是静态/共享信息,在传奇之外维护,这取决于您的场景。
  • 只有当您从所有参选者那里收到“完成”时,您才能移动到完成状态。你可以指示传奇必须转移到另一个州。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19927499

复制
相关文章

相似问题

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