ASP.NET uruchomieniu projektu rdzeniowego domyślna kolejność wykonania to: Host Host -> Odczyt konfiguracji -> Ustawienia logu -> Usługa rejestracji (DI) -> Dodaj oprogramowanie pośrednicze -> Słuchanie hosta webowego -> Uruchomienie pracy w tle.
Ładowanie i odczyt konfiguracji to dopiero początek procesu uruchamiania. Profil Microsoftu w ASP.NET Core:Logowanie do linku jest widoczne.
Recenzja:
Metoda Host.CreateDefaultBuilder podaj domyślną konfigurację aplikacji w następującej kolejności:
- ChainedConfigurationProvider: Dodaj istniejący jako źródło. W domyślnym przykładzie konfiguracji dodaj konfigurację hosta i ustaw ją jako pierwsze źródło dla konfiguracji aplikacji.
- Użyj appsettings.json appsettings.json.
- Użyj dostawcy konfiguracji JSON w ustawieniach aplikacji: Zapewnił JSON. Na przykład ustawienia aplikacji. Production.json i ustawienia aplikacji. Development.json。
- Sekrety aplikacji, gdy aplikacja działa w środowisku.
- Wykorzystaj dostawców konfiguracji zmiennych środowiskowych do dostarczania zmiennych środowiskowych.
- Korzystanie z dostawcy konfiguracji wiersza poleceń jest dostępne za pomocą parametrów linii poleceń.
Kod źródłowy przedstawia się następująco:
Adres kodu źródłowego:Logowanie do linku jest widoczne.
Jak widać z kodu, priorytet konfiguracji akwizycji programu to:appsettings.json -> appsettings.environment.json -> zmienne środowiskowe -> argumenty wiersza poleceń。 Testujemy według priorytetów.
Utwórz nową konsolową metodę zwracającą wszystkie informacje konfiguracyjne, a kod wygląda następująco:
Najpierw appsettings.json plik konfiguracyjny, następująco:
Nowe ustawienia aplikacji. Test.json konfigurację następująco:
Spróbuj uruchomić projekt i zobacz konfigurację WebConfig:Name i WebConfig:Date, jak pokazano na poniższym obrazku:
{"Key":"WebConfig:Name","Value":"itsvse.com"},{"Key":"WebConfig:Date","Value":"2021"}
Znajdź nieruchomości ->launchSettings.jsonzmodyfikuj konfigurację środowiska ASPNETCORE_ENVIRONMENT na Test, w następujący sposób:
Obecnie proceduraPrzeczytam ustawienia aplikacji. Test.json konfiguracja, spróbuj restartować projekt, znajdźWebConfig:Name 已经覆盖了, jak pokazano na poniższym rysunku:
{"Key":"WebConfig:Name","Value":"itsvse.com test"},{"Key":"WebConfig:Date","Value":"2021"}
Zmodyfikuj ponownie plik launchSettings.json i ustaw wartość WebConfig:Name za pomocą zmiennej środowiskowej, a kod wygląda następująco:
Uwaga: Zmodyfikuj wartość WebConfig:Name zmiennej środowiskowej, nazwa zmiennej to: WebConfig__Name (Środek oddzielony jest podwójną podkreślą)
Spróbuj zrestartować projekt i znajdź wartość WebConfig:Name,Został nadpisany przez wartość ustawioną przez zmienną środowiskową, jak pokazano na poniższym rysunku:
Spróbuj zmodyfikować wartość domyślną za pomocą wiersza poleceń i rozpocznij polecenie następująco:
Jak pokazano poniżej:
Testuj priorytet kluczy konfiguracyjnych z praktyką i to wszystko.
|