// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDistributedMemoryCache() .AddNpgsqlService(Configuration) .AddSwaggerService() .AddCors() .AddControllers(); services.AddSession(options => { options.IdleTimeout = TimeSpan.FromSeconds(60); }); services.AddApiVersioning(options => { options.ReportApiVersions = true; }); Assembly[] assemblies = { this.GetType().Assembly }; services.AddAutoMapper(assemblies: assemblies); services.AddRouting(options => { options.LowercaseUrls = true; }); // Needs following to get current user information outside controller // because IHttpContextAccessor is no longer registered by default. // Used to save 'CreatedBy' and 'ModifiedBy' information. services.TryAddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddMediatR(typeof(Bootstrap)); services.AddAFFHARepositories(); services.AddTransient <IWeatherService, WeatherService>(); }