ASP.NET se osnovni projekt začne, je privzeti vrstni red izvajanja: Host Host -> Read Configuration -> Nastavitve dnevnika -> Registracijska storitev (DI) -> Dodaj vmesno programsko opremo -> Poslušanje spletnega gostitelja -> Zagon dela v ozadju.
Nalaganje in branje konfiguracij sta na samem začetku zagonskega procesa. Microsoftov profil v ASP.NET Core:Prijava do hiperpovezave je vidna.
Pregled:
Metoda Host.CreateDefaultBuilder, priskrbi privzeto konfiguracijo aplikacije v naslednjem vrstnem redu:
- ChainedConfigurationProvider: Dodajte obstoječega kot izvorno kodo. V primeru privzete konfiguracije dodajte konfiguracijo gostitelja in jo nastavite kot prvi vir za konfiguracijo aplikacije.
- Uporabi appsettings.json appsettings.json.
- Uporabite JSON konfiguracijskega ponudnika preko appsettings: JSON je zagotovil. Na primer, nastavitve aplikacij. Production.json in nastavitve aplikacij. Development.json。
- Skrivnosti aplikacije, ko aplikacija teče v okolju.
- Uporabite ponudnike konfiguracije okoljskih spremenljivk za zagotavljanje okoljski spremenljivk.
- Uporaba ponudnika konfiguracije ukazne vrstice je zagotovljena prek parametrov ukazne vrstice.
Izvorna koda je naslednja:
Naslov izvorne kode:Prijava do hiperpovezave je vidna.
Kot lahko vidite iz kode, je prioriteta pri pridobivanju konfiguracije programa:appsettings.json -> appsettings.environment.json -> okoljske spremenljivke -> argumenti ukazne vrstice。 Testiramo po prioriteti.
Ustvarite novo konzolno metodo za vračanje vseh konfiguracijskih informacij, koda je naslednja:
Najprej appsettings.json konfiguracijsko datoteko, kot sledi:
Nove nastavitve aplikacij. Test.json konfiguracijo, kot sledi:
Poskusite zagnati projekt in si oglejte konfiguracijo WebConfig:Name in WebConfig:Date, kot je prikazano na naslednji sliki:
{"Key":"WebConfig:Name","Value":"itsvse.com"},{"Key":"WebConfig:Date","Value":"2021"}
Poiščite nepremičnine ->launchSettings.jsonspremeni konfiguracijo okolja ASPNETCORE_ENVIRONMENT v Test, kot sledi:
Trenutno je postopekBom prebral nastavitve aplikacij. Test.json konfiguracija, poskusi ponovno zagnati projekt, najdiWebConfig:Name 已经覆盖了, kot je prikazano na spodnji sliki:
{"Key":"WebConfig:Name","Value":"itsvse.com test"},{"Key":"WebConfig:Date","Value":"2021"}
Ponovno spremenite launchSettings.json datoteko in nastavite vrednost WebConfig:Name preko okoljske spremenljivke, koda je naslednja:
Opomba: Spremenite vrednost WebConfig:Name za okoljsko spremenljivko, ime spremenljivke je: WebConfig__Name (Sredina je ločena z dvojno podčrtano črto)
Poskusi ponovno zagnati projekt in poišči vrednost WebConfig:Name,Prepisala ga je vrednost, ki jo je določila spremenljivka okolja, kot je prikazano na spodnji sliki:
Poskusite spremeniti privzeto vrednost preko ukazne vrstice in začnite ukaz takole:
Kot je prikazano spodaj:
Preizkusite prioriteto konfiguracijskih ključev z vajo, in to je to.
|