1
すべての "子"イベント(特定の相関IDを持つすべてのイベント)が実行されたときにReBusに通知する簡単な方法があるのだろうかと思います。Rebus:すべての相関イベントが適用されたときに傍受する方法
すべての "子"イベント(特定の相関IDを持つすべてのイベント)が実行されたときにReBusに通知する簡単な方法があるのだろうかと思います。Rebus:すべての相関イベントが適用されたときに傍受する方法
私はあなたが達成しようとしていることを完全にはわかっていませんが、私が正しく理解すれば、いくつかの特定のメッセージがいつ処理されたかを知る方法を尋ねています。
多くの場合、これは、各加入者にこれと同様のロジックを実装することによって解決することができる。
public class SomeSubscriberHandler : IHandleMessages<AnEvent>
{
public async Task Handle(AnEvent anEvent)
{
// handle event by doing something
// ...
// let the world know I did something
await _bus.Publish(new SomeSubscriberDidSomething(anEvent.CorrelationId));
}
}
それによってサーガが封入CorrelationId
によって相関、SomeSubscriberDidSomething
にサブスクライブすることを可能にします。
すべての加入者がこれを行う場合、このプロセスがどのくらいの距離で行われたかを簡単に判断して、すべての加入者が自分の仕事を終えたときに最終的に何かを行うことができます。