ASP.NET kärnprojektet startar är standardexekveringsordningen: Host Host -> Läskonfiguration -> Logginställningar -> Registreringstjänst (DI) -> Lägg till mellanvara -> WebHost Lyssning -> Bakgrundsarbete Start.
Konfigurationsladdning och läsning sker i början av startprocessen. Microsofts profil i ASP.NET Core:Inloggningen med hyperlänken är synlig.
Recension:
Host.CreateDefaultBuilder-metoden, ange standardkonfigurationen för appen i följande ordning:
- ChainedConfigurationProvider: Lägg till en befintlig som källa. I standardkonfigurationsexemplet, lägg till värdkonfigurationen och sätt den som första källkod för applikationskonfigurationen.
- Använd appsettings.json appsettings.json.
- Använd JSON-konfigurationsleverantören via appsettings: JSON försäkrade. Till exempel appinställningar. Production.json och appinställningar. Development.json。
- Apphemligheter när appen körs i miljön.
- Använd miljövariabler som konfigurationsleverantörer tillhandahåller genom miljövariabler.
- Att använda kommandoradskonfigurationsleverantören tillhandahålls via kommandoradsparametrar.
Källkoden är följande:
Källkodsadress:Inloggningen med hyperlänken är synlig.
Som du kan se i koden är programmets anskaffningskonfigurationsprioritet:appsettings.json -> appsettings.environment.json -> miljövariabler -> kommandoradsargument。 Vi testar efter prioritet.
Skapa en ny konsolmetod för att returnera all konfigurationsinformation, koden är som följer:
Först, appsettings.json konfigurationsfilen, enligt följande:
Nya appinställningar. Test.json konfiguration, enligt följande:
Försök starta projektet och se konfigurationen av WebConfig:Name och WebConfig:Date, som visas i följande bild:
{"Key":"WebConfig:Name","Value":"itsvse.com"},{"Key":"WebConfig:Date","Value":"2021"}
Lokalisera fastigheter ->launchSettings.jsonfil, ändra ASPNETCORE_ENVIRONMENT miljökonfiguration till Test, enligt följande:
Vid denna tidpunkt är procedurenJag ska läsa appinställningarna. Test.json konfiguration, försök starta om projektet, hittaWebConfig:Name 已经覆盖了, som visas i figuren nedan:
{"Key":"WebConfig:Name","Value":"itsvse.com test"},{"Key":"WebConfig:Date","Value":"2021"}
Modifiera launchSettings.json-filen igen och sätt värdet på WebConfig:Name via miljövariabeln, koden är följande:
Observera: Ändra värdet på WebConfig:Name för miljövariabeln, variabelnamnet är: WebConfig__Name (Mitten är separerad av en dubbel understreck)
Försök starta om projektet och hitta värdet i WebConfig:Name,Den har skrivits över av värdet som sätts av miljövariabeln, som visas i figuren nedan:
Försök att ändra standardvärdet via kommandoraden och starta kommandot enligt följande:
Som visas nedan:
Testa prioriteringen av konfigurationsnycklar med övning, och det är allt.
|