此注册观察员是从here截取的IEventProcessor实现的一部分:与IEventProcessor
public class SimpleEventProcessor : IEventProcessor
{
public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> events)
{
foreach (EventData eventData in events)
{
}
}
}
作为新事件被添加到EventHub,所述ProcessEventsAsync方法被调用和foreach循环可被用于处理该事件。现在我想使用例如ObserverRegistry将观察者添加到SimpleEventProcessor中,如here所述。建议的ObserverRegistry看起来像这样:
public class ObserverRegistry : IObserverRegistry<IProjectionWriterFactory>
{
IEnumerable<object> GetObservers(IProjectionWriterFactory factory)
{
yield return new LoanApplicationObserver();
yield return new OfferObserver();
// more observers...
}
}
不幸的是,有几件事缺失。我如何向SimpleEventProcessor注册几个观察者,以便将事件从ProcessEventsAsync传递给所有观察者,最终他们的When方法?