예제 #1
0
        public IHandlerActivator CreateActivator(Action <IHandlerRegistry> configureHandlers, out IActivatedContainer container)
        {
            var lightInjectContainer = new ServiceContainer();

            configureHandlers(new HandlerRegistry(lightInjectContainer));

            container = new ActivatedContainer(lightInjectContainer);

            return(new LightInjectContainerAdapter(lightInjectContainer));
        }
        public IBus CreateBus(Action <IHandlerRegistry> configureHandlers, Func <RebusConfigurer, RebusConfigurer> configureBus, out IActivatedContainer container)
        {
            var _containerBuilder = new ContainerBuilder();

            configureHandlers(new HandlerRegistry(_containerBuilder));

            var autoFacContainer = _containerBuilder.Build();

            container = new ActivatedContainer(autoFacContainer);

            return(configureBus(Configure.With(new AutofacContainerAdapter(autoFacContainer))).Start());
        }
        public IHandlerActivator CreateActivator(Action <IHandlerRegistry> configureHandlers, out IActivatedContainer container)
        {
            var containerBuilder = new ContainerBuilder();

            configureHandlers(new HandlerRegistry(containerBuilder));

            var autoFacContainer = containerBuilder.Build();

            container = new ActivatedContainer(autoFacContainer);

            return(new AutofacContainerAdapter(autoFacContainer));
        }
        public IHandlerActivator CreateActivator(Action <IHandlerRegistry> handlerConfig, out IActivatedContainer container)
        {
            var services = new ServiceCollection().AddSingleton(p => new DependencyInjectionHandlerActivator(p));

            handlerConfig.Invoke(new HandlerRegistry(services));

            var provider = services.BuildServiceProvider();

            container = new ActivatedContainer(provider);

            return(provider.GetRequiredService <DependencyInjectionHandlerActivator>());
        }
        public IHandlerActivator CreateActivator(Action <IHandlerRegistry> configureHandlers, out IActivatedContainer container)
        {
            var registry = new HandlerRegistry();

            configureHandlers(registry);

            var simpleInjContainer = new Container();

            registry.ApplyRegistrations(simpleInjContainer);

            container = new ActivatedContainer(simpleInjContainer);

            return(new SimpleInjectorContainerAdapter(simpleInjContainer));
        }
예제 #6
0
        public IBus CreateBus(Action <IHandlerRegistry> configureHandlers, Func <RebusConfigurer, RebusConfigurer> configureBus, out IActivatedContainer container)
        {
            var containerBuilder = new ContainerBuilder();

            configureHandlers(new HandlerRegistry(containerBuilder));

            new AutofacHandlerActivator(containerBuilder, (conf, con) => configureBus(conf), startBus: true, enablePolymorphicDispatch: true);

            var autofacContainer = containerBuilder.Build();

            container = new ActivatedContainer(autofacContainer);

            return(container.ResolveBus());
        }
예제 #7
0
        public IHandlerActivator CreateActivator(Action <IHandlerRegistry> configureHandlers, out IActivatedContainer container)
        {
            var builder = new ContainerBuilder();

            configureHandlers(new HandlerRegistry(builder));

            var containerAdapter = new AutofacHandlerActivator(builder, (conf, con) => { }, startBus: false, enablePolymorphicDispatch: true);

            var autofacContainer = builder.Build();

            container = new ActivatedContainer(autofacContainer);

            return(containerAdapter);
        }
        public IBus CreateBus(Action <IHandlerRegistry> configureHandlers, Func <RebusConfigurer, RebusConfigurer> configureBus, out IActivatedContainer container)
        {
            var registry = new HandlerRegistry();

            configureHandlers(registry);

            var simpleInjContainer = new Container();

            registry.ApplyRegistrations(simpleInjContainer);

            container = new ActivatedContainer(simpleInjContainer);

            return(configureBus(Configure.With(new SimpleInjectorContainerAdapter(simpleInjContainer))).Start());
        }
예제 #9
0
        public IHandlerActivator CreateActivator(Action <IHandlerRegistry> handlerConfig, out IActivatedContainer container)
        {
            var services = new ServiceCollection();

            handlerConfig.Invoke(new HandlerRegistry(services));
            services.AddSingleton <IApplicationLifetime>(new TestLifetime());

            var provider = services.BuildServiceProvider();

            var adapter = new NetCoreServiceProviderContainerAdapter(provider);

            container = new ActivatedContainer(provider);

            return(adapter);
        }
예제 #10
0
        public IBus CreateBus(Action <IHandlerRegistry> handlerConfig, Func <RebusConfigurer, RebusConfigurer> configureBus, out IActivatedContainer container)
        {
            var services = new ServiceCollection();

            handlerConfig.Invoke(new HandlerRegistry(services));

            services.AddRebus(configureBus);

            var provider = services.BuildServiceProvider();

            container = new ActivatedContainer(provider);

            provider.UseRebus();

            return(container.ResolveBus());
        }
예제 #11
0
        public IHandlerActivator CreateActivator(Action <IHandlerRegistry> configureHandlers, out IActivatedContainer container)
        {
            var registry = new HandlerRegistry();

            configureHandlers(registry);

            var simpleInjContainer = new Container
            {
                Options =
                {
                    DefaultScopedLifestyle = ScopedLifestyle.Flowing,
                    EnableAutoVerification = false //< disable verification for tests to avoid tricking instance counters in contract tests
                }
            };

            registry.ApplyRegistrations(simpleInjContainer);

            container = new ActivatedContainer(simpleInjContainer);

            return(new SimpleInjectorContainerAdapter(simpleInjContainer));
        }