private static void SetAutofacContainer() { DapperRepositoryConfig config = ConfigurationManager.GetSection("DapperRepositoryConfig") as DapperRepositoryConfig; ContainerBuilder builder = new ContainerBuilder(); builder.RegisterInstance(config).As <DapperRepositoryConfig>().SingleInstance(); Assembly assembly = Assembly.GetExecutingAssembly(); builder.RegisterControllers(assembly); RegisterMore(builder, x => { x.RegisterType <RedisConnectionWrapper>().As <IRedisConnectionWrapper>().SingleInstance(); x.RegisterType <RedisCacheManager>().As <ICacheManager>().InstancePerLifetimeScope(); }); if (config != null) { switch (config.ActivedDbTypeName) { case ConnKeyConstants.Mssql: // Repositories RegisterRepository(builder, ConnKeyConstants.Mssql); // Services RegisterSevice(builder, ConnKeyConstants.Mssql); RegisterMore(builder, b => { }); break; case ConnKeyConstants.Mysql: // Repositories RegisterRepository(builder, ConnKeyConstants.Mysql); // Services RegisterSevice(builder, ConnKeyConstants.Mysql); break; case ConnKeyConstants.Oracle: // configure it by yourself if you use oracle break; } } IContainer container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); }
public static ISImplHostBuilder UseDapperRepositoryStorage(this ISImplHostBuilder host, Action <DapperRepositoryConfig> dapperRepoConfig = null) { var config = new DapperRepositoryConfig(); dapperRepoConfig?.Invoke(config); host.AttachNewOrGetConfiguredModule(() => new DapperRepositoryModule(config)); return(host); }
public RedisCacheManager(DapperRepositoryConfig config, IRedisConnectionWrapper connectionWrapper) { if (String.IsNullOrEmpty(config.RedisCachingConnectionString)) { throw new Exception("Redis connection string is empty"); } // ConnectionMultiplexer.Connect should only be called once and shared between callers _connectionWrapper = connectionWrapper; _db = _connectionWrapper.GetDatabase(); }
public MssqlConnectionFactory(IConfiguration configuration, DapperRepositoryConfig config) { _configuration = configuration; _config = config; }
public CustomerController(ICustomerService customerService, ICustomerRoleService customerRoleService, DapperRepositoryConfig config) { _customerService = customerService; _customerRoleService = customerRoleService; _config = config; }
public RedisConnectionWrapper(DapperRepositoryConfig config) { _config = config; _connectionString = new Lazy <string>(GetConnectionString); _redisLockFactory = CreateRedisLockFactory(); }