ASP.NET het kernproject start, is de standaard uitvoeringsvolgorde: Host Host -> Leesconfiguratie -> Loginstellingen -> Registratiedienst (DI) -> Voeg Middleware toe -> WebHost Luisteren -> Achtergrondwerk-opstart.
Het laden en lezen van configuraties staat helemaal aan het begin van het opstartproces. Microsofts profiel in ASP.NET Core:De hyperlink-login is zichtbaar.
Recensie:
Host.CreateDefaultBuilder-methode, geef de standaardconfiguratie voor de app in de volgende volgorde:
- ChainedConfigurationProvider: Voeg een bestaande toe als broncode. Voeg in het standaardconfiguratievoorbeeld de hostconfiguratie toe en stel deze in als eerste bron voor de applicatieconfiguratie.
- Gebruik appsettings.json appsettings.json.
- Gebruik de JSON-configuratieprovider via appsettings: Voegde JSON toe. Bijvoorbeeld appsettings. Production.json en appsettings. Development.json。
- App-geheimen wanneer de app in de omgeving draait.
- Gebruik omgevingsvariabelen die configuratieproviders aanbieden om via omgevingsvariabelen te leveren.
- Het gebruik van de configuratieprovider voor de opdrachtregel wordt via commandoregelparameters geleverd.
De broncode is als volgt:
Broncode-adres:De hyperlink-login is zichtbaar.
Zoals je uit de code kunt zien, is de prioriteit voor de configuratie van programmaverwerving:appsettings.json -> appsettings.environment.json -> omgevingsvariabelen -> commandoregelargumenten。 We testen op prioriteit.
Maak een nieuwe consolemethode aan om alle configuratie-informatie terug te geven, de code is als volgt:
Eerst appsettings.json het configuratiebestand als volgt:
Nieuwe app-instellingen. Test.json configuratie, als volgt:
Probeer het project te starten en bekijk de configuratie van WebConfig:Name en WebConfig:Date, zoals te zien is in de volgende afbeelding:
{"Key":"WebConfig:Name","Value":"itsvse.com"},{"Key":"WebConfig:Date","Value":"2021"}
Locaties - >launchSettings.jsonbestand wijzigen de configuratie van de ASPNETCORE_ENVIRONMENT omgeving naar Test, als volgt:
Op dit moment is de procedureIk zal de app-instellingen lezen. Test.json configuratie, probeer het project opnieuw te starten, vindWebConfig:Name 已经覆盖了, zoals getoond in de onderstaande figuur:
{"Key":"WebConfig:Name","Value":"itsvse.com test"},{"Key":"WebConfig:Date","Value":"2021"}
Wijzig het launchSettings.json-bestand opnieuw en stel de waarde van WebConfig:Name in via de omgevingsvariabele; de code is als volgt:
Opmerking: Wijzig de waarde van WebConfig:Name voor de omgevingsvariabele, de variabelenaam is: WebConfig__Name (Het midden wordt gescheiden door een dubbele onderlaag)
Probeer het project opnieuw op te starten en vind de waarde van WebConfig:Name,Het is overschreven door de waarde die door de omgevingsvariabele is gezet, zoals getoond in de onderstaande figuur:
Probeer de standaardwaarde via de commandoregel aan te passen en start het commando als volgt:
Zoals hieronder getoond:
Test de prioriteit van configuratiesleutels met oefening, en dat is het.
|