public static INeedAQueryContext SimpleInjectorHandlers(this INeedHandlers handlerBuilder, Container container, Action <HandlerSettings> settings = null) { if (container == null) { throw new ArgumentNullException(nameof(container)); } var factory = new SimpleInjectorHandlerFactory(container); var registry = new SimpleInjectorHandlerRegistry(container); var handlerSettings = new HandlerSettings(registry); settings?.Invoke(handlerSettings); return(handlerBuilder.Handlers(registry, factory, registry, factory)); }
public static INeedAQueryContext LightInjectHandlers(this INeedHandlers handlerBuilder, ServiceContainer container, Action <HandlerSettings> settings) { if (container == null) { throw new ArgumentNullException(nameof(container)); } if (settings == null) { throw new ArgumentNullException(nameof(settings)); } var factory = new LightInjectHandlerFactory(container); var handlerRegistry = new QueryHandlerRegistry(); var handlerSettings = new HandlerSettings(container, handlerRegistry); settings(handlerSettings); var handlerConfiguration = new HandlerConfiguration(handlerRegistry, factory); return(handlerBuilder.Handlers(handlerConfiguration)); }