ASP.NET починається основний проєкт, порядок виконання за замовчуванням такий: хост-хост -> конфігурація читання -> налаштування журналу -> реєстраційна служба (DI) -> додавання проміжного програмного забезпечення -> прослуховування веб-хосту -> запуск фонової роботи.
Завантаження конфігурації та читання знаходяться на самому початку процесу запуску. Профіль Microsoft у ASP.NET Core:Вхід за гіперпосиланням видно.
Огляд:
Метод Host.CreateDefaultBuilder, надати конфігурацію за замовчуванням для додатку в наступному порядку:
- ChainedConfigurationProvider: Додайте існуючий як джерело. У стандартному прикладі конфігурації додайте конфігурацію хоста і встановіть її як перше джерело для конфігурації додатка.
- Використовуй appsettings.json appsettings.json.
- Використовуйте провайдера конфігурації JSON через налаштування додатків: надала JSON. Наприклад, налаштування додатків. Production.json та налаштування додатків. Development.json。
- Секрети додатка, коли додаток працює в навколишньому середовищі.
- Використовуйте провайдери конфігурації змінних середовища для надання змінних через середовище.
- Використання командного рядка для конфігурації провайдера надається через параметри командного рядка.
Вихідний код виглядає так:
Адреса вихідного коду:Вхід за гіперпосиланням видно.
Як видно з коду, пріоритет конфігурації отримання програм такий:appsettings.json -> appsettings.environment.json -> змінні середовища -> аргументи командного рядка。 Ми тестуємо за пріоритетом.
Створіть новий консольний метод для повернення всієї конфігураційної інформації, код виглядає так:
Спочатку appsettings.json конфігураційний файл, наступним чином:
Нові налаштування додатків. Test.json конфігурацію наступним чином:
Спробуйте розпочати проєкт і подивіться конфігурацію WebConfig:Name та WebConfig:Date, як показано на наступному зображенні:
{"Key":"WebConfig:Name","Value":"itsvse.com"},{"Key":"WebConfig:Date","Value":"2021"}
Знайти властивості ->launchSettings.jsonМодифікувати конфігурацію середовища ASPNETCORE_ENVIRONMENT на Тест, наступним чином:
На цей момент процедураПрочитаю налаштування додатку. Test.json конфігурація, спробувати перезапустити проєкт, знайтиWebConfig:Name 已经覆盖了, як показано на рисунку нижче:
{"Key":"WebConfig:Name","Value":"itsvse.com test"},{"Key":"WebConfig:Date","Value":"2021"}
Змініть launchSettings.json файл ще раз і встановіть значення WebConfig:Name через змінну середовища, код виглядає так:
Примітка: Змініть значення WebConfig:Name для змінної середовища, ім'я змінної: WebConfig__Name (Середина розділена подвійним підкресленням)
Спробуйте перезапустити проєкт і знайти значення WebConfig:Name,Він був перезаписаний значенням, встановленим змінною середовища, як показано на рисунку нижче:
Спробуйте змінити значення за замовчуванням через командний рядок і запустіть команду так:
Як показано нижче:
Перевірте пріоритет ключів конфігурації з практикою — і все.
|