Ignore:
Timestamp:
04/28/26 14:53:32 (2 months ago)
Author:
kikisrbinoska <srbinoskakristina07@…>
Branches:
main
Children:
b373fea
Parents:
dc383dd
Message:

Added transactions and pooling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ChapterX.Infrastructure/DependencyInjection.cs

    rdc383dd rd300631  
    1515        public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration)
    1616        {
    17             services.AddDbContext<ApplicationDbContext>(options =>
    18                 options.UseNpgsql(configuration.GetConnectionString("Database")));
     17            var poolSection = configuration.GetSection("ConnectionPool");
     18            var minPoolSize = poolSection.GetValue<int>("MinPoolSize", 1);
     19            var maxPoolSize = poolSection.GetValue<int>("MaxPoolSize", 20);
     20            var idleLifetime = poolSection.GetValue<int>("ConnectionIdleLifetime", 300);
     21            var pruningInterval = poolSection.GetValue<int>("ConnectionPruningInterval", 10);
     22            var commandTimeout = poolSection.GetValue<int>("CommandTimeout", 30);
     23            var connectionTimeout = poolSection.GetValue<int>("Timeout", 15);
     24
     25            var baseConnectionString = configuration.GetConnectionString("Database")!;
     26            var connectionString =
     27                $"{baseConnectionString};Minimum Pool Size={minPoolSize};Maximum Pool Size={maxPoolSize};" +
     28                $"Connection Idle Lifetime={idleLifetime};Connection Pruning Interval={pruningInterval};" +
     29                $"Command Timeout={commandTimeout};Timeout={connectionTimeout}";
     30
     31            services.AddDbContextPool<ApplicationDbContext>(options =>
     32                options.UseNpgsql(connectionString));
    1933
    2034            services.AddScoped<IApplicationDbContext>(sp => sp.GetRequiredService<ApplicationDbContext>());
Note: See TracChangeset for help on using the changeset viewer.