Как использовать appsettings.json в program.cs без предупреждения «ASP0000 Вызов BuildServiceProvider из кода приложенияC#

Место общения программистов C#
Ответить
Anonymous
 Как использовать appsettings.json в program.cs без предупреждения «ASP0000 Вызов BuildServiceProvider из кода приложения

Сообщение Anonymous »

Я создаю минимальный API .net с множеством настроек, определенных через appsettings.json.
Но как использовать эти классы настроек в program.cs без того, чтобы компилятор выдавал предупреждение :

ASP0000 Вызов BuildServiceProvider из кода приложения приводит
к созданию дополнительной копии одноэлементных служб. Рассмотрите
альтернативы, такие как службы внедрения зависимостей в качестве параметров
"Настройки".

Что я делаю:

Код: Выделить всё

var builder = WebApplication.CreateBuilder(args); // Create a WebApplication builder
builder.Services.AddEndpointsApiExplorer();

builder.Services.Configure(
builder.Configuration.GetSection(MYSettingFromAppsettings.Position));
builder.Services.AddSingleton(resolver =>
resolver.GetRequiredService().Value);

...//same for all the other settings

var corsConfig = builder.Services.BuildServiceProvider().GetRequiredService();

// use settings
Для ясности: я не только использую настройки в program.cs, я также использую их через DI в службах (параметры IOptions)
Итак, как лучше всего работать с классами настроек сохранения типов в program.cs, а также через DI?

Подробнее здесь: https://stackoverflow.com/questions/792 ... lling-buil
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»