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)); }