Наилучший вариант для конфигурации приложений .net
Как можно более изящно сконфигать серверные .net приложения? Сейчас столкнулся с таким вариантом, что чем больше репозиториев и сервисов у меня появляется, тем больше разрастается Program.cs в итоге получается вот такая свалка из конфигураций
builder.Services.AddAuthentication(
options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(
it =>
{
var key = Encoding.ASCII.GetBytes(builder.Configuration["JWT:Secret"]);
it.SaveToken = true;
it.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(key),
ValidateIssuer = false,
ValidateAudience = false,
RequireExpirationTime = true,
ValidateLifetime = true
};
}
);
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddScoped<IAccountRepository, AccountRepository>();
builder.Services.AddScoped<ICommunityRepository, CommunityRepository>();
builder.Services.AddScoped<IPostRepository, PostRepository>();
builder.Services.AddScoped<ITagsRepository, TagsRepository>();
builder.Services.AddScoped<AccountService>();
builder.Services.AddScoped<CommunityService>();
builder.Services.AddScoped<PostService>();
builder.Services.AddScoped<TagsService>();
builder.Services.AddScoped<GenerateTokenService>();
Вопрос: можно ли как-то изящно это конфигать в других классах?