Пример #1
0
 public override void PreConfigureServices(ServiceCollectionContext context)
 {
     context.Services.Configure <EventBusOptions>(options =>
     {
         options.AutoRegistrarHandlersAssemblies = new[] { typeof(StartupModule).Assembly };
     });
 }
Пример #2
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            context.Services.AddControllers();

            //方式一
            context.Services.AddDbContext <CustomerDbContext>(options =>
            {
                options.UseInMemoryDatabase("customer");
            });

            //方式二
            //context.Services
            //    .AddDbContextAndEfRepositories<CustomerDbContext>(options =>
            //{
            //    options.UseInMemoryDatabase("customer");
            //});

            //方式三
            //context.Services
            //    .AddDbContext<CustomerDbContext>(options =>
            //{
            //    options.UseInMemoryDatabase("customer");
            //})
            //    .AddRepositories<CustomerDbContext>();
        }
Пример #3
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            var services = context.Services;

            services.Configure <BaiDuTranslateOptions>(Configuration.GetSection("Translate:BaiDu"));
            services.AddBaiDuTranslate();
        }
Пример #4
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            context.Services.AddControllers();
            context.Services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "Demo", Version = "v1"
                });
                var basePath = PlatformServices.Default.Application.ApplicationBasePath;
                var xmlPath  = Path.Combine(basePath, "Demo.WebApi.xml");
                c.IncludeXmlComments(xmlPath);
            });

            //若基于本地消息表存储event,需配置
            context.Services.Configure <EventBusSqlServerOptions>(options =>
            {
                options.DbConnectionStr = Configuration.GetConnectionString("Demo");
            });

            #region 若是订阅服务,需要添加以下代码
            //将MessageHandler注入到容器里
            //context.Services.TryRegistrarMessageHandlers(new[] { typeof(StartupModule).Assembly });
            //context.Services.Configure<EventBusOptions>(options =>
            //{
            //    //实现自动订阅messageHandler
            //    options.AutoRegistrarHandlersAssemblies = new[] { typeof(StartupModule).Assembly };
            //});
            #endregion
        }
        public override void PostConfigureServices(ServiceCollectionContext context)
        {
            //TODO:此处为了解决使用端直接注入IConfigureOptions<EventBusRabbitMqOptions>对象而导致RabbitMqConnection属性不起作用
            var implementationInstances = context.Services
                                          .Where(p => p.ServiceType == typeof(IConfigureOptions <EventBusRabbitMqOptions>))
                                          .Select(p => (IConfigureOptions <EventBusRabbitMqOptions>)p.ImplementationInstance)
                                          .ToList();

            if (!implementationInstances.Any())
            {
                return;
            }

            var eventBusRabbitMqOptions = new EventBusRabbitMqOptions();

            foreach (var implementationInstance in implementationInstances)
            {
                implementationInstance.Configure(eventBusRabbitMqOptions);
            }

            context.Services.AddRabbitMq(options =>
            {
                options.Connection = eventBusRabbitMqOptions.RabbitMqConnection;
            });
        }
Пример #6
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            var options = context.Services.BuildServiceProvider().GetService <IOptions <EventBusOptions> >().Value;

            context.Services
            .AddEventBus()
            .AutoRegistrarHandlers(options.AutoRegistrarHandlersAssemblies);
        }
Пример #7
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddDbContext <CustomerDbContext>(options =>
     {
         options.UseInMemoryDatabase("InMemoryDatabase");
     });
     context.Services.AddScoped <IStudentsRepository, StudentsRepository>();
 }
Пример #8
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddControllers();
     context.Services.AddDbContext <CustomerDbContext>(options =>
     {
         options.UseSqlServer(Configuration.GetConnectionString("customer"));
     });
 }
Пример #9
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddControllers();
     context.Services.AddDbContextAndEfRepositories <CustomerDbContext>(options =>
     {
         options.UseInMemoryDatabase("customer");
     });
     // context.Services.AddEfRepository<Student, CustomerDbContext>();
 }
Пример #10
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            context.Services.AddControllers();

            var rabbitMqOptions = new RabbitMqOptions();

            Configuration.GetSection("RabbitMq").Bind(rabbitMqOptions);
            context.Services.Configure <RabbitMqOptions>(options =>
            {
                options.Connection = rabbitMqOptions.Connection;
            });
        }
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            var dbContextTypes = context.Items.Values
                                 .Select(value => value as Type)
                                 .Where(value => typeof(DbContext).IsAssignableFrom(value))
                                 .Distinct()
                                 .ToList();

            dbContextTypes.ForEach(dbContextType =>
            {
                context.Services.AddRepositories(dbContextType);
            });
        }
Пример #12
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            context.Services.AddControllers();

            var rabbitMqConnection = Configuration.GetSection("RabbitMq:Connection").Get <RabbitMqConnectionConfigure>();

            context.Services.Configure <EventBusRabbitMqOptions>(options =>
            {
                options.RabbitMqConnection = rabbitMqConnection;
            });
            context.Services.Configure <EventBusPostgreSqlOptions>(options =>
            {
                options.DbConnection = Configuration.GetConnectionString("customer");
            });
        }
Пример #13
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            context.Services.AddControllers();

            var rabbitMqConnection = Configuration.GetSection("RabbitMq:Connection").Get <RabbitMqConnectionConfigure>();

            context.Services.Configure <EventBusRabbitMqOptions>(options =>
            {
                options.RabbitMqConnection = rabbitMqConnection;
            });

            context.Services.ConfigureEventBusOptions(options =>
            {
                options.AutoRegistrarHandlersAssemblies = new[] { typeof(StartupModule).Assembly };
            });
        }
Пример #14
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            context.Services.AddControllers();

            context.Services.Configure <EventBusRabbitMqOptions>(options =>
            {
                //配置Exchange(可选)
                options.AddPublishConfigure(configureOptions =>
                {
                    configureOptions.ExchangeName = RabbitMqConst.DefaultExchangeName;
                });
            });

            context.Services.Configure <EventBusSqlServerOptions>(options =>
            {
                //配置Connection(必须)
                options.DbConnectionStr = Configuration.GetConnectionString("customer");
            });
        }
Пример #15
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            context.Services.AddControllers();

            //方式一
            context.Services.AddDbContext <CustomerDbContext>(options =>
            {
                options.UseInMemoryDatabase("customer");
            });

            context.Services.AddDbConfiguration(options =>
            {
                options.AddDashboard(actionOptions => { });
            });

            context.Services.AddPermission(options =>
            {
                options.AddPostgreSql(actionOptions =>
                {
                    actionOptions.DbConnection =
                        "Host=47.101.70.119;Port=5432;Database=customer;Username=postgres;Password=123456";
                });
            });

            //方式二
            //context.Services
            //    .AddDbContextAndEfRepositories<CustomerDbContext>(options =>
            //{
            //    options.UseInMemoryDatabase("customer");
            //});

            //方式三
            //context.Services
            //    .AddDbContext<CustomerDbContext>(options =>
            //{
            //    options.UseInMemoryDatabase("customer");
            //})
            //    .AddRepositories<CustomerDbContext>();
        }
Пример #16
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddUnitOfWork();
 }
Пример #17
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Items.TryGetValue(nameof(EventBusBuilder), out var eventBusBuilder);
     ((EventBusBuilder)eventBusBuilder).AddRabbitMq();
 }
Пример #18
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.Configure <RabbitMqOptions>(Configuration.GetSection("RabbitMq"));
     context.Services.AddRabbitMq();
 }
Пример #19
0
        public override void ConfigureServices(ServiceCollectionContext context)
        {
            var eventBusBuilder = context.Services.AddEventBus();

            context.Items.Add(nameof(EventBusBuilder), eventBusBuilder);
        }
Пример #20
0
 public override void PreConfigureServices(ServiceCollectionContext context)
 {
     context.Items.Add(nameof(CustomerDbContext), typeof(CustomerDbContext));
 }
Пример #21
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddScoped <StudentServices>();
 }
Пример #22
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.TryAddScoped(typeof(IRepository <>), typeof(Repository <>));
     context.Services.TryAddScoped(typeof(IRepository <,>), typeof(Repository <,>));
     context.Services.TryAddScoped(typeof(IUnitOfWork), typeof(EfCoreUnitOfWork));
 }
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddEventBusRabbitMq();
 }
Пример #24
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.Configure <ElasticClientFactoryOptions>(Configuration.GetSection("ElasticSearch"));
     context.Services.AddElasticClientFactory();
 }
Пример #25
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddEntityFrameworkRepository();
 }
Пример #26
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services
     .AddRedisCache()
     .Configure <RedisCacheOptions>(_configuration.GetSection("Redis"));
 }
Пример #27
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddSingleton(typeof(IGlobalElasticSearchRepository <>), typeof(GlobalElasticSearchRepository <>));
 }
Пример #28
0
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.AddControllers();
 }
 public override void ConfigureServices(ServiceCollectionContext context)
 {
     context.Services.Configure <EventBusMysqlOptions>(_configuration.GetSection("EventBus:Storage"));
     context.Items.TryGetValue(nameof(EventBusBuilder), out var eventBusBuilder);
     ((EventBusBuilder)eventBusBuilder).AddMysql();
 }