2017-06-06 3 views

答えて

1

私はあなたが達成しようとしていることを完全にはわかっていませんが、私が正しく理解すれば、いくつかの特定のメッセージがいつ処理されたかを知る方法を尋ねています。

多くの場合、これは、各加入者にこれと同様のロジックを実装することによって解決することができる。

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にサブスクライブすることを可能にします。

すべての加入者がこれを行う場合、このプロセスがどのくらいの距離で行われたかを簡単に判断して、すべての加入者が自分の仕事を終えたときに最終的に何かを行うことができます。

関連する問題