示例#1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddMvcCore()
            .AddApiExplorer();

            services.ConfigureCors();

            services.AddSwaggerDocumentation();

            services.AddEntityFrameworkNpgsql().AddDbContext <AppDbContext>(options =>
            {
                options.UseNpgsql(Configuration.GetConnectionString("databaseString"));
                options.EnableSensitiveDataLogging();
            }, ServiceLifetime.Transient);

            services.ConfigureAuthetication(Configuration);
            services.AddIdentity <User, Role>()
            .AddEntityFrameworkStores <AppDbContext>();

            services.Configure <RabbitMqSettings>(Configuration.GetSection(nameof(RabbitMqSettings)));
            services.AddUrlHelper();
            services.RegisterServices();
            services.RegisterRepositories();
            services.AutoMapperConfig();

            var serviceProvider  = services.BuildServiceProvider();
            var rabbitMQSettings = serviceProvider.GetRequiredService <IOptions <RabbitMqSettings> >().Value;
            IOptions <RabbitMqSettings> rabbitMQSettingsOptions = Options.Create(rabbitMQSettings);
            IRabbitMQService            rabbitMQService         = new RabbitMQService(rabbitMQSettingsOptions);

            rabbitMQService.CreateQueues();
        }