// 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(); }