2017-06-06 61 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)); 
    }  
} 

從而允許佐賀訂閱SomeSubscriberDidSomething,由所附CorrelationId相關。

如果所有用戶都這樣做,這個傳奇可以很容易地確定這個過程到了多遠,然後找出當所有用戶完成他們的事情時最後要做的事情。