Exemple #1
0
        public virtual void ConfigureServices(IServiceCollection services)
        {
            services.AddMvcCore(options =>
            {
                options.Filters.Add <HttpGlobalExceptionFilter>();
                options.Filters.Add <ApiKeyAuthorizationFilter>();
            })
            .AddApiExplorer()
            .AddDataAnnotations()
            .SetCompatibilityVersion(CompatibilityVersion.Latest);

            services.AddHttpContextAccessor();

            services.AddDbContextPool <UsersContext>(options => options.UseMySql(_configuration.GetConnectionString("MySqlDb")));

            services.AddTransient <INameRepository, NameCachedRepository>();

            services.AddTransient <IUserService, UserService>();

            services.Configure <ApiKeyConfiguration>(_configuration.GetSection("ApiKey"));
            services.AddSwaggerGen(opt => SwaggerConfigurator.Configure(opt, _configuration.GetValue <string>("ApiKey:SecretKey")));

            services.AddHealthChecks();

            services.AddMemoryCache();
        }
        public virtual void ConfigureServices(IServiceCollection services)
        {
            services.AddMvcCore(options =>
            {
                options.Filters.Add <HttpGlobalExceptionFilter>();
                options.Filters.Add <ValidateModelStateFilter>();
                options.Filters.Add <ApiKeyAuthorizationFilter>();
            })
            .AddApiExplorer()
            .AddDataAnnotations()
            .SetCompatibilityVersion(CompatibilityVersion.Latest);

            services.AddHttpContextAccessor();

            //there is a difference between AddDbContext() and AddDbContextPool(), more info https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-2.0#dbcontext-pooling and https://stackoverflow.com/questions/48443567/adddbcontext-or-adddbcontextpool
            services.AddDbContextPool <EmployeesContext>(options => options.UseMySql(_configuration.GetConnectionString("MySqlDb")));
            services.AddDbContextPool <CarsContext>(options => options.UseSqlServer(_configuration.GetConnectionString("MsSqlDb")));

            services.Configure <ApiKeyConfiguration>(_configuration.GetSection("ApiKey"));
            services.AddSwaggerGen(opt => SwaggerConfigurator.Configure(opt, _configuration.GetValue <string>("ApiKey:SecretKey")));

            services.Configure <PingWebsiteConfiguration>(_configuration.GetSection("PingWebsite"));
            services.AddHostedService <PingWebsiteBackgroundService>();
            services.AddHttpClient(nameof(PingWebsiteBackgroundService));

            services.AddHealthChecks();
        }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configuration(IAppBuilder app)
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);

            UnityConfigurator.Configure(GlobalConfiguration.Configuration);
            SwaggerConfigurator.Configure(GlobalConfiguration.Configuration);
            HangfireConfigurator.Configure(Hangfire.GlobalConfiguration.Configuration, app);

            var logService     = UnityConfigurator.ResolveDependency <ILogService>();
            var dequeueService = UnityConfigurator.ResolveDependency <IDequeueService>();

            RecurringJob.AddOrUpdate("delete-old-logs", () => logService.DeleteOldLogs(), Cron.Daily);
            RecurringJob.AddOrUpdate("dequeue", () => dequeueService.Execute(), Cron.Minutely);
        }
Exemple #4
0
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseExceptionHandler("/error");

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

            SwaggerConfigurator.ConfigureApp(app);
        }
 public Startup(IConfiguration configuration)
 {
     Configuration  = configuration;
     _swaggerConfig = new SwaggerConfigurator();
 }
Exemple #6
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers().AddNewtonsoftJson();

            SwaggerConfigurator.ConfigureServices(services);
        }