Exemple #1
0
        private static ILocalBus Intialize()
        {
            IContainerBuilder containerBuilder = new AutofacAdapter();

            containerBuilder.RegisterConfigurationModule(new InMemory());
            Configuration.Initialize(containerBuilder);
            return(Configuration.Bus);
        }
Exemple #2
0
 private static AutofacAdapter BuildContainer()
 {
     var containerBuilder = new ContainerBuilder();
     containerBuilder.RegisterServices(Assembly.GetExecutingAssembly());
     var container = containerBuilder.Build();
     var adapter = new AutofacAdapter(container);
     return adapter;
 }
        public static Autofac.IContainer RegisterAsEasyNetQContainerFactory(this ContainerBuilder builder)
        {
            var autofacAdapter = new AutofacAdapter(builder);

            RabbitHutch.SetContainerFactory(() => autofacAdapter);

            return autofacAdapter.Container;
        }
Exemple #4
0
        private static AutofacAdapter BuildContainer()
        {
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterServices(Assembly.GetExecutingAssembly());
            var container = containerBuilder.Build();
            var adapter   = new AutofacAdapter(container);

            return(adapter);
        }
Exemple #5
0
        private static void Intialize()
        {
            ConsoleWindowLogger.MinimumLogLevel = LogLevel.Debug;
            LogFactory.BuildLogger = type => new ConsoleWindowLogger(type);
            IContainerBuilder containerBuilder = new AutofacAdapter();

            containerBuilder.RegisterConfigurationModule(new InMemory());
            Configuration.Initialize(containerBuilder);
            ServiceLocator.Current.SetCurrentLifetimeScope(Configuration.RootContainer);
        }
        public void Dispose_should_also_dispose_container()
        {
            var lifetimeScope = new Mock<ILifetimeScope>();
            var localAdapter = new AutofacAdapter(lifetimeScope.Object);

            lifetimeScope.Setup(c => c.Dispose());

            localAdapter.Dispose();

            lifetimeScope.VerifyAll();
        }
        public static ContainerBuilder RegisterEasyNetQ(this ContainerBuilder containerBuilder, Func <IServiceResolver, ConnectionConfiguration> connectionConfigurationFactory, Action <IServiceRegister> registerServices)
        {
            if (containerBuilder == null)
            {
                throw new ArgumentNullException(nameof(containerBuilder));
            }

            var serviceRegister = new AutofacAdapter(containerBuilder);

            RabbitHutch.RegisterBus(serviceRegister, connectionConfigurationFactory, registerServices);
            return(containerBuilder);
        }
        public void MultipleImplementationAreRegisteredByTypeAsParameter_ResolvedCollectionContainsAllImplementations()
        {
            var adapter = new AutofacAdapter();

            adapter.RegisterCollection(typeof(ITestDependency), new[] { typeof(TestDependencyA), typeof(TestDependencyB) });
            adapter.BuildAsLifetimeScope();

            var collection = adapter.Resolve <IEnumerable <ITestDependency> >().ToArray();

            collection.Should().Contain(r => r is TestDependencyA);
            collection.Should().Contain(r => r is TestDependencyB);
        }
        public void ServiceIsRegisteredAsTransient_TwoResolvedInstancesAreDifferent()
        {
            var adapter = new AutofacAdapter();

            adapter.RegisterTransient <ITestDependency, TestDependencyA>();
            adapter.BuildAsLifetimeScope();

            var firstDependency  = adapter.Resolve <ITestDependency>();
            var secondDependency = adapter.Resolve <ITestDependency>();

            firstDependency.Should().NotBeSameAs(secondDependency);
        }
        public void ServiceIsRegisteredAsSingleton_TwoResolvedInstancesAreSame()
        {
            var adapter = new AutofacAdapter();

            adapter.RegisterSingleton <ITestDependency, TestDependencyA>();
            adapter.BuildAsLifetimeScope();

            var firstDependency  = adapter.Resolve <ITestDependency>();
            var secondDependency = adapter.Resolve <ITestDependency>();

            firstDependency.Should().BeSameAs(secondDependency);
        }
Exemple #11
0
        static void Main(string[] args)
        {
            IContainer ioc = null;
            while (ioc == null)
            {
                Console.WriteLine("Выберите IoC контейнер: 1-MyIoC, 2-Castle Windsor, 3-Unity, 4-Autofac");
                int iocNumber;
                int.TryParse(Console.ReadLine(), out iocNumber);
                switch (iocNumber)
                {
                    case 1:
                        {
                            ioc = new MyIOCContainer();
                            break;
                        }
                    case 2:
                        {
                            ioc = new WindsorAdapter();
                            break;
                        }
                    case 3:
                        {
                            ioc = new UnityAdapter();
                            break;
                        }
                    case 4:
                        {
                            ioc = new AutofacAdapter();
                            break;
                        }
                }
                if (ioc == null)
                {
                    Console.WriteLine("Неверный ввод!!!");
                }
            }
            var logger = new NLogAdapter();
            logger.Trace(String.Format("Выбран IoC : {0}", ioc.GetType()));
            ioc.Register<IList<Person>>(new List<Person>());
            ioc.Register<IDataAccessor<Person>, ListDataAccessor<Person>>();
            var dataAccessor = ioc.Resolve<IDataAccessor<Person>>();
            dataAccessor.Insert(new Person(1, "Петров", "Петр", "Петрович", 20));
            dataAccessor.Insert(new Person(2, "Иванов", "Иван", "Иванович", 25));
            foreach (var person in dataAccessor.GetAll())
            {
                logger.Info(String.Format("В коллекцию добавлен {0}", person.ToString()));
                Console.WriteLine(person.ToString());
            }

            Console.ReadKey();
        }
        public void MultipleImplementationAreRegisteredByInstance_ResolvedCollectionContainsAllImplementations()
        {
            var adapter   = new AutofacAdapter();
            var instanceA = new TestDependencyA();
            var instanceB = new TestDependencyB();

            adapter.RegisterCollection(new ITestDependency[] { instanceA, instanceB });
            adapter.BuildAsLifetimeScope();

            var collection = adapter.Resolve <IEnumerable <ITestDependency> >().ToArray();

            collection.Should().Contain(instanceA);
            collection.Should().Contain(instanceB);
        }
        public static Autofac.IContainer RegisterAsEasyNetQContainerFactory(this ContainerBuilder builder, Func<IBus> busCreator)
        {
            var adapter = new AutofacAdapter(builder);
            
            RabbitHutch.SetContainerFactory(() => adapter);

            var container = adapter.Container;

            var bus = busCreator();

            adapter.Register(provider => bus);

            return container;
        }
Exemple #14
0
        public void Build()
        {
            var cb = new ContainerBuilder();

            // registers all our classes.
            cb.RegisterCqsHandlers(Assembly.GetExecutingAssembly());

            cb.RegisterType <IocCommandBus>().AsImplementedInterfaces().SingleInstance();
            cb.RegisterType <IocEventBus>().AsImplementedInterfaces().SingleInstance();
            cb.RegisterType <IocQueryBus>().AsImplementedInterfaces().SingleInstance();
            cb.RegisterType <IocRequestReplyBus>().AsImplementedInterfaces().SingleInstance();
            cb.Register(x => _adapter).AsImplementedInterfaces().SingleInstance();

            _adapter = new AutofacAdapter(cb.Build());

            CqsBus.CmdBus          = _adapter.Resolve <ICommandBus>();
            CqsBus.QueryBus        = _adapter.Resolve <IQueryBus>();
            CqsBus.RequestReplyBus = _adapter.Resolve <IRequestReplyBus>();
            CqsBus.EventBus        = _adapter.Resolve <IEventBus>();
        }
        public void Build()
        {
            var cb = new ContainerBuilder();

            // registers all our classes.
            cb.RegisterCqsHandlers(Assembly.GetExecutingAssembly());

            cb.RegisterType<IocCommandBus>().AsImplementedInterfaces().SingleInstance();
            cb.RegisterType<IocEventBus>().AsImplementedInterfaces().SingleInstance();
            cb.RegisterType<IocQueryBus>().AsImplementedInterfaces().SingleInstance();
            cb.RegisterType<IocRequestReplyBus>().AsImplementedInterfaces().SingleInstance();
            cb.Register(x => _adapter).AsImplementedInterfaces().SingleInstance();

            _adapter = new AutofacAdapter(cb.Build());

            CqsBus.CmdBus = _adapter.Resolve<ICommandBus>();
            CqsBus.QueryBus = _adapter.Resolve<IQueryBus>();
            CqsBus.RequestReplyBus = _adapter.Resolve<IRequestReplyBus>();
            CqsBus.EventBus = _adapter.Resolve<IEventBus>();
        }
        public void Should_finalize()
        {
            adapter = null;

            GC.Collect();
            GC.WaitForPendingFinalizers();
        }
 public AutofacAdapterTests()
 {
     container = new Mock<IContainer>();
     adapter = new AutofacAdapter(container.Object);
 }
 public AutofacAdapterTests()
 {
     adapter = new AutofacAdapter(new ContainerBuilder().Build());
 }