Пример #1
0
        public static void RegisterDependencies()
        {
            var          builder = new ContainerBuilder();
            const string nameOrConnectionString = "name=AppContext";

            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            builder.RegisterModule <AutofacWebTypesModule>();
            builder.RegisterGeneric(typeof(EntityRepository <>)).As(typeof(IRepository <>)).InstancePerRequest();
            builder.RegisterGeneric(typeof(Service <>)).As(typeof(IService <>)).InstancePerRequest();
            builder.RegisterType(typeof(UnitOfWork)).As(typeof(IUnitOfWork)).InstancePerRequest();
            builder.RegisterType(typeof(ProductManager)).As(typeof(IProductManager)).InstancePerRequest();
            builder.RegisterType(typeof(CustomersManager)).As(typeof(ICustomersManager)).InstancePerRequest();
            builder.RegisterType(typeof(ShopingCartManager)).As(typeof(IShopingCartManager)).InstancePerRequest();
            builder.RegisterType(typeof(OrderManager)).As(typeof(IOrderManager)).InstancePerRequest();
            builder.Register <IEntitiesContext>(b =>
            {
                var logger  = b.Resolve <ILogger>();
                var context = new AspnetIdentityWithOnionContext(nameOrConnectionString, logger);
                return(context);
            }).InstancePerRequest();
            builder.Register(b => NLogLogger.Instance).SingleInstance();
            builder.RegisterModule(new IdentityModule());

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
        public static void RegisterDependencies()
        {
            var builder = new ContainerBuilder();
            const string nameOrConnectionString = "name=AppContext";
            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            builder.RegisterModule<AutofacWebTypesModule>();
            builder.RegisterGeneric(typeof(EntityRepository<>)).As(typeof(IRepository<>)).InstancePerHttpRequest();
            builder.RegisterGeneric(typeof(Service<>)).As(typeof(IService<>)).InstancePerHttpRequest();
            builder.RegisterType(typeof(UnitOfWork)).As(typeof(IUnitOfWork)).InstancePerHttpRequest();
            builder.Register<IEntitiesContext>(b =>
            {
                var logger = b.Resolve<ILogger>();
                var context = new AspnetIdentityWithOnionContext(nameOrConnectionString, logger);
                return context;
            }).InstancePerHttpRequest();
            builder.Register(b => NLogLogger.Instance).SingleInstance();
            builder.RegisterModule(new IdentityModule());

            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }