internal static void ConfigurarDependencias(IConfiguration configuration, IServiceCollection services) { RegistraDependenciasWorkerServices.Registrar(services); RegistrarMapeamentos.Registrar(); RegistraClientesHttp.Registrar(services, configuration); Orquestrador.Inicializar(services.BuildServiceProvider()); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { AdicionarMediatr(services); ConfiguraVariaveisAmbiente(services); ConfiguraSentry(); var servicoProdam = new ServicoProdamOptions(); Configuration.GetSection(nameof(ServicoProdamOptions)).Bind(servicoProdam, c => c.BindNonPublicProperties = true); services.AddSingleton(servicoProdam); RegistrarMapeamentos.Registrar(); services .AdicionarRepositorios() .AdicionarIdentity() .AdicionarServicos() .AdicionarCasosDeUso() .AdicionarPoliticas() .AdicionarClientesHttp(servicoProdam) .AddMemoryCache() .AddApplicationInsightsTelemetry() .AddHostedService <WorkerRabbitMQ>(); services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "SME.AE.Worker", Version = "v1" }); }); }
public void ConfigureServices(IServiceCollection services) { AddAuthentication(services); services.Configure <KestrelServerOptions>(options => { options.AllowSynchronousIO = true; }); services.AdicionarRedis(); services.AddResponseCompression(options => { options.Providers.Add <GzipCompressionProvider>(); options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "application/json" }); }); RegistrarMapeamentos.Registrar(); RegistrarMvc.Registrar(services, Configuration); services.AddInfrastructure(); services.AddApplication(); services.AdicionarValidadoresFluentValidation(); services.AddCors(options => options.AddDefaultPolicy( builder => { builder.WithOrigins("*"); }) ); services .AddControllers() .AddNewtonsoftJson(); // Register the Swagger generator, defining 1 or more Swagger documents registrarSwagger(services); }
public void ConfigureServices(IServiceCollection services) { services.Configure <KestrelServerOptions>(options => { options.AllowSynchronousIO = true; }); services.AddResponseCompression(options => { options.Providers.Add <GzipCompressionProvider>(); options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "application/json" }); }); var variaveisGlobais = new VariaveisGlobaisOptions(); Configuration.GetSection(nameof(VariaveisGlobaisOptions)).Bind(variaveisGlobais, c => c.BindNonPublicProperties = true); var servicoProdam = new ServicoProdamOptions(); Configuration.GetSection(nameof(ServicoProdamOptions)).Bind(servicoProdam, c => c.BindNonPublicProperties = true); var jwtVariaveis = new SgpJwtOptions(); Configuration.GetSection(nameof(SgpJwtOptions)).Bind(jwtVariaveis, c => c.BindNonPublicProperties = true); services.AddSingleton(variaveisGlobais); services.AddSingleton(servicoProdam); services.AddSingleton(jwtVariaveis); AddAuthentication(services, variaveisGlobais); services.AddApplicationInsightsTelemetry(Configuration); RegistrarMapeamentos.Registrar(); RegistrarMvc.Registrar(services, variaveisGlobais); RegistrarClientesHttp.Registrar(services, servicoProdam, variaveisGlobais); ConfiguraVariaveisAmbiente(services); services.AddInfrastructure(variaveisGlobais); services.AddApplication(); services.AdicionarValidadoresFluentValidation(); services.AddCors(options => options.AddDefaultPolicy( builder => { builder.WithOrigins("*"); }) ); services .AddControllers() .AddNewtonsoftJson(); // Register the Swagger generator, defining 1 or more Swagger documents RegistrarSwagger(services); services.AddApplicationInsightsTelemetry(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton(Configuration); services.AddHttpContextAccessor(); RegistraDependencias.Registrar(services); RegistrarMapeamentos.Registrar(); RegistraClientesHttp.Registrar(services, Configuration); RegistraAutenticacao.Registrar(services, Configuration); RegistrarMvc.Registrar(services, Configuration); DefaultTypeMap.MatchNamesWithUnderscores = true; services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "SGP v1", Version = "v1" }); c.AddSecurityDefinition("Bearer", new ApiKeyScheme { In = "header", Description = "Para autenticação, incluir 'Bearer' seguido do token JWT", Name = "Authorization", Type = "apiKey" }); c.AddSecurityRequirement(new Dictionary <string, IEnumerable <string> > { { "Bearer", Enumerable.Empty <string>() }, }); }); services.AddDistributedRedisCache(options => { options.Configuration = Configuration.GetConnectionString("SGP-Redis"); options.InstanceName = Configuration.GetValue <string>("Nome-Instancia-Redis"); }); }
public static void Main(string[] args) { RegistrarMapeamentos.Registrar(); CreateHostBuilder(args).Build().Run(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton(Configuration); services.AddHttpContextAccessor(); RegistraDependencias.Registrar(services); RegistrarMapeamentos.Registrar(); RegistraClientesHttp.Registrar(services, Configuration); RegistraAutenticacao.Registrar(services, Configuration); RegistrarMvc.Registrar(services, Configuration); DefaultTypeMap.MatchNamesWithUnderscores = true; services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "SGP v1", Version = "v1" }); c.AddSecurityDefinition("Bearer", new ApiKeyScheme { In = "header", Description = "Para autenticação, incluir 'Bearer' seguido do token JWT", Name = "Authorization", Type = "apiKey" }); c.AddSecurityRequirement(new Dictionary <string, IEnumerable <string> > { { "Bearer", Enumerable.Empty <string>() }, }); }); services.AddDistributedRedisCache(options => { options.Configuration = Configuration.GetConnectionString("SGP-Redis"); options.InstanceName = Configuration.GetValue <string>("Nome-Instancia-Redis"); }); services.AddApplicationInsightsTelemetry(Configuration); Orquestrador.Inicializar(services.BuildServiceProvider()); if (Configuration.GetValue <bool>("FF_BackgroundEnabled", false)) { Orquestrador.Registrar(new Processor(Configuration, "SGP-Postgres")); RegistraServicosRecorrentes.Registrar(); } else { Orquestrador.Desativar(); } services.AddHealthChecks() .AddRedis( Configuration.GetConnectionString("SGP-Redis"), "Redis Cache", null, tags: new string[] { "db", "redis" }) .AddNpgSql( Configuration.GetConnectionString("SGP-Postgres"), name: "Postgres") .AddCheck <ApiJuremaCheck>("API Jurema") .AddCheck <ApiEolCheck>("API EOL"); services.Configure <RequestLocalizationOptions>(options => { options.DefaultRequestCulture = new Microsoft.AspNetCore.Localization.RequestCulture("pt-BR"); options.SupportedCultures = new List <CultureInfo> { new CultureInfo("pt-BR"), new CultureInfo("pt-BR") }; }); }
private static void RegistrarContextos(IServiceCollection services) { services.TryAddScoped <SgpContext, DbContext>(); RegistrarMapeamentos.Registrar(); }