예제 #1
0
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, SQConfig config)
        {
            builder.Register(c => new HttpContextWrapper(HttpContext.Current) as HttpContextBase)
            .As <HttpContextBase>()
            .InstancePerRequest();
            builder.Register(c => c.Resolve <HttpContextBase>().Request)
            .As <HttpRequestBase>()
            .InstancePerRequest();
            builder.Register(c => c.Resolve <HttpContextBase>().Response)
            .As <HttpResponseBase>()
            .InstancePerRequest();
            builder.Register(c => c.Resolve <HttpContextBase>().Server)
            .As <HttpServerUtilityBase>()
            .InstancePerRequest();
            builder.Register(c => c.Resolve <HttpContextBase>().Session)
            .As <HttpSessionStateBase>()
            .InstancePerRequest();

            //注册所有的Controller
            builder.RegisterControllers(typeFinder.GetAssemblies().ToArray());

            //注册所有的ApiController

            builder.RegisterApiControllers(typeFinder.GetAssemblies().ToArray());


            builder.RegisterType <SqlServerDataProvider>().As <IDataProvider>().InstancePerDependency();


            builder.Register <IDbContext>(c => new AppContext())
            .InstancePerRequest();

            builder.RegisterGeneric(typeof(EfRepository <>))
            .As(typeof(IRepository <>)).InstancePerRequest();

            builder.RegisterType <MemoryCacheManager>().As <ICacheManager>().Named <ICacheManager>("nop_cache_static").SingleInstance();


            builder.RegisterType <UserActivitiesService>().As <IUserActivitiesService>().InstancePerRequest();
            builder.RegisterType <DepartmentService>().As <IDepartmentService>().InstancePerRequest();
            builder.RegisterType <JobService>().As <IJobService>().InstancePerRequest();
            builder.RegisterType <UserRoleService>().As <IUserRoleService>().InstancePerRequest();
            builder.RegisterType <UserPermissionService>().As <IUserPermissionService>().InstancePerRequest();
            builder.RegisterType <CategoryService>().As <ICategoryService>().InstancePerRequest();
            builder.RegisterType <CarCateService>().As <ICarCateService>().InstancePerRequest();
            builder.RegisterType <CityCateService>().As <ICityCateService>().InstancePerRequest();
            builder.RegisterType <ProductService>().As <IProductService>().InstancePerRequest();

            builder.RegisterType <StorageService>().As <IStorageService>().InstancePerRequest();
            builder.RegisterType <SpecificationAttributeService>().As <ISpecificationAttributeService>().InstancePerRequest();
            builder.RegisterType <SpecificationAttributeOptionService>().As <ISpecificationAttributeOptionService>().InstancePerRequest();
            builder.RegisterType <SpecificationAttributeCategoryMappingService>().As <ISpecificationAttributeCategoryMappingService>().InstancePerRequest();


            builder.RegisterType <ProductStorageQuantityService>().As <IProductStorageQuantityService>().InstancePerRequest();
            builder.RegisterType <ProductCarCateService>().As <IProductCarCateService>().InstancePerRequest();
            builder.RegisterType <ProductSpecificationAttributeService>().As <IProductSpecificationAttributeService>().InstancePerRequest();
            builder.RegisterType <ProductAttributeService>().As <IProductAttributeService>().InstancePerRequest();
            builder.RegisterType <ProductAttributeMappingService>().As <IProductAttributeMappingService>().InstancePerRequest();
            builder.RegisterType <ProductAttributeValueService>().As <IProductAttributeValueService>().InstancePerRequest();


            builder.RegisterType <ProductAttributeCategoryMappingService>().As <IProductAttributeCategoryMappingService>().InstancePerRequest();

            builder.RegisterType <ManufacturerService>().As <IManufacturerService>().InstancePerRequest();
            builder.RegisterType <ShoppingCartItemService>().As <IShoppingCartItemService>().InstancePerRequest();
            builder.RegisterType <BannerService>().As <IBannerService>().InstancePerRequest();

            builder.RegisterType <SmsCodeService>().As <ISmsCodeService>().InstancePerRequest();

            builder.RegisterType <AddressService>().As <IAddressService>().InstancePerRequest();
            builder.RegisterType <OrderService>().As <IOrderService>().InstancePerRequest();
        }
예제 #2
0
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, SQConfig config)
        {
            builder.Register(c => new HttpContextWrapper(HttpContext.Current) as HttpContextBase)
            .As <HttpContextBase>()
            .InstancePerRequest();
            builder.Register(c => c.Resolve <HttpContextBase>().Request)
            .As <HttpRequestBase>()
            .InstancePerRequest();
            builder.Register(c => c.Resolve <HttpContextBase>().Response)
            .As <HttpResponseBase>()
            .InstancePerRequest();
            builder.Register(c => c.Resolve <HttpContextBase>().Server)
            .As <HttpServerUtilityBase>()
            .InstancePerRequest();
            builder.Register(c => c.Resolve <HttpContextBase>().Session)
            .As <HttpSessionStateBase>()
            .InstancePerRequest();

            //注册所有的Controller
            builder.RegisterControllers(typeFinder.GetAssemblies().ToArray());

            //注册所有的ApiController

            builder.RegisterApiControllers(typeFinder.GetAssemblies().ToArray());


            builder.RegisterType <SqlServerDataProvider>().As <IDataProvider>().InstancePerDependency();


            builder.Register <IDbContext>(c => new AppContext())
            .InstancePerRequest();

            builder.RegisterGeneric(typeof(EfRepository <>))
            .As(typeof(IRepository <>)).InstancePerRequest();



            builder.RegisterType <UserActivitiesService>().As <IUserActivitiesService>().InstancePerRequest();
            builder.RegisterType <BlogService>().As <IBlogService>().InstancePerRequest();
            builder.RegisterType <BlogTypeService>().As <IBlogTypeService>().InstancePerRequest();
        }