protected override void Load(ContainerBuilder builder) { builder.RegisterType <BlBook>().As <IBlBook>().InstancePerLifetimeScope(); builder.RegisterType <EfBook>().As <IEfBook>(); builder.RegisterType <SampleContext>().AsSelf().WithParameter("options", DbContextOptionsFactory.Get()); }
internal static ContainerBuilder AddPostgresDataProvider(this ContainerBuilder builder) { builder.RegisterType <PaymentGatewayContext>() .WithParameter("options", DbContextOptionsFactory.Get()) .InstancePerLifetimeScope() .As <PaymentGatewayContext>(); return(builder); }
private DbContextOptions <CurrencyContext> ConfigureCurrencyDbContext(IComponentContext context) => DbContextOptionsFactory.Get(context);
public void ConfigureContainer(ContainerBuilder builder) { builder.Register(ctx => new MapperConfiguration(cfg => cfg.AddProfile(typeof(AutoMapperProfile)))); builder.Register(ctx => ctx.Resolve <MapperConfiguration>().CreateMapper()).As <IMapper>(); builder.Register <ILogger>((c, p) => { return(new LoggerConfiguration() .ReadFrom.Configuration(Configuration) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.File($"/logs/log-.log", rollingInterval: RollingInterval.Day) .CreateLogger()); }).SingleInstance(); builder.Register(c => Configuration) .As <IConfigurationRoot>() .SingleInstance(); builder.RegisterType <AppSettings>() .SingleInstance(); builder.RegisterType <HttpContextAccessor>() .As <IHttpContextAccessor>() .SingleInstance(); builder.RegisterType <ActionContextAccessor>() .As <IActionContextAccessor>() .SingleInstance(); builder.RegisterType <UrlHelperFactory>() .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder.RegisterType <ClientDbContext>() .WithParameter("options", DbContextOptionsFactory.Get()) .WithParameter("config", Configuration) .InstancePerLifetimeScope(); builder.RegisterType <ChatHub>() .ExternallyOwned() .SingleInstance(); //builder.RegisterType<CustomUserIdProvider>() // .As<IUserIdProvider>() // .SingleInstance(); builder.RegisterType <UserContext>() .InstancePerLifetimeScope(); builder.RegisterType <EmailBuilder>() .PropertiesAutowired() .InstancePerLifetimeScope(); builder.RegisterType <EmailService>() .AsImplementedInterfaces() .PropertiesAutowired() .InstancePerLifetimeScope(); builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(BaseRepository))) .Where(t => t.IsSubclassOf(typeof(BaseRepository))) .PropertiesAutowired() .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(BaseService))) .Where(t => t.IsSubclassOf(typeof(BaseService))) .PropertiesAutowired() .AsImplementedInterfaces() .InstancePerLifetimeScope(); }