public async Task <IHandlerRegistration> RegisterAsync(IContextualProvider <IMessageHandler <TMessage> > handlerProvider) { var provider = new ContextualProvider <IMessageReplyer <TMessage> >( serviceProvider => new MessageReplyer <TMessage>(_endPoint, handlerProvider.ProvideInstance(serviceProvider))); return(await HandlerRegistration.CreateRegistrationAsync(_handler, provider)); }
public IEventReplayer <TId, TEventBase, TEntityBase> ProvideInstance(IServiceProvider serviceProvider) { if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } // The service-provider must be scoped already. var actualReplayer = _eventReplayerFactory.ProvideInstance(serviceProvider); return(new EventReplayerInvoker <TEvent, TEntity>(actualReplayer)); }