Пример #1
0
        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));
        }
Пример #2
0
        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();
        }
Пример #4
0
 public MssqlConnectionFactory(IConfiguration configuration, DapperRepositoryConfig config)
 {
     _configuration = configuration;
     _config        = config;
 }
Пример #5
0
 public CustomerController(ICustomerService customerService, ICustomerRoleService customerRoleService, DapperRepositoryConfig config)
 {
     _customerService     = customerService;
     _customerRoleService = customerRoleService;
     _config = config;
 }
Пример #6
0
 public RedisConnectionWrapper(DapperRepositoryConfig config)
 {
     _config           = config;
     _connectionString = new Lazy <string>(GetConnectionString);
     _redisLockFactory = CreateRedisLockFactory();
 }