Как использовать настройки на уровне бизнеса / домена в ASP.NET Core? - PullRequest
0 голосов
/ 14 января 2019

Я вижу, что предпочтительным способом использования настроек является использование шаблона параметров и добавление IOptions<T> объекта в класс, где я хочу использовать настройки.

Есть ли другое решение, как заставить это работать на уровне бизнеса / домена, где я не хочу ссылаться на специфическую DLL ASP.NET Core, такую ​​как библиотека с IOptions<T> инфраструктурой?

1 Ответ

0 голосов
/ 14 января 2019

Вы также можете использовать IConfiguration. Эта технология развивается быстро, и лучшие практики постоянно меняются. Возьмем, к примеру, документы по конфигурации для 2.0 , 2.1 , 2.2 и 3.0

На сегодняшний день вы можете разумно создавать приложения ASP.NET Core в любой из этих версий.

Достигнув среднего уровня, скажем, 2.1, посмотрите на документацию по конфигурации и найдите время, чтобы понять множество различных способов его использования.

В 2.1 вы можете использовать appSettings.json для управления настройками для разных развертываний и разных слоев.

По умолчанию строительные леса добавляет CreateWebHostBuilder:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
                     WebHost.CreateDefaultBuilder(args)
                            .UseStartup<Startup>();

Под прикрытием это вызывает AddJsonFile дважды, один раз для appsettings.json и снова для appsettings.{Environment}.json.

Добавьте файл appsettings.Production.json в свой проект, и вы получите преимущества.

Затем будет использоваться соответствующий файл appSettings на основе значения ASPNETCORE_ENVIRONMENT, которое может быть добавлено в свойства проекта (или Azure Web App | Настройки приложения) по мере необходимости. Если не указан, по умолчанию будет Production

...