ASP.NET il progetto core inizia, l'ordine di esecuzione predefinito è: Host host -> Configurazione di lettura -> Impostazioni di registro -> Servizio di registrazione (DI) -> Aggiungi middleware -> Ascolto WebHost -> Avvio del lavoro in background.
Il caricamento della configurazione e la lettura sono all'inizio del processo di avvio. Il profilo di Microsoft in ASP.NET Core:Il login del link ipertestuale è visibile.
Recensione:
Host.CreateDefaultBuilder, fornisce la configurazione predefinita dell'app nel seguente ordine:
- ChainedConfigurationProvider: Aggiungi uno esistente come sorgente. Nell'esempio di configurazione predefinita, aggiungi la configurazione host e impostala come prima sorgente per la configurazione dell'applicazione.
- Usa appsettings.json appsettings.json.
- Usa il provider di configurazione JSON tramite appsettings: JSON ha fornito. Ad esempio, impostazioni dell'app. Production.json e impostazioni app. Development.json。
- I segreti dell'app quando l'app gira nell'ambiente.
- Usa fornitori di configurazione delle variabili ambientali per fornire le variabili ambientali avanzate.
- L'utilizzo del provider di configurazione a riga di comando è fornito tramite parametri da riga di comando.
Il codice sorgente è il seguente:
Indirizzo del codice sorgente:Il login del link ipertestuale è visibile.
Come si può vedere dal codice, la priorità di configurazione per l'acquisizione del programma è:appsettings.json -> appsettings.environment.json -> variabili ambientali -> argomenti della riga di comando。 Testiamo secondo la priorità.
Crea un nuovo metodo console per restituire tutte le informazioni di configurazione, il codice è il seguente:
Per prima cosa, appsettings.json il file di configurazione, come segue:
Nuove impostazioni dell'app. Test.json configurazione, come segue:
Prova ad avviare il progetto e guarda la configurazione di WebConfig:Name e WebConfig:Date, come mostrato nell'immagine seguente:
{"Key":"WebConfig:Name","Value":"itsvse.com"},{"Key":"WebConfig:Date","Value":"2021"}
Localizza le proprietà ->launchSettings.jsonmodificano la configurazione dell'ambiente ASPNETCORE_ENVIRONMENT in Test, come segue:
In questo momento, la proceduraLeggerò le impostazioni dell'app. Test.json configurazione, prova a riavviare il progetto, trovaWebConfig:Name 已经覆盖了, come mostrato nella figura sottostante:
{"Key":"WebConfig:Name","Value":"itsvse.com test"},{"Key":"WebConfig:Date","Value":"2021"}
Modifica nuovamente il file launchSettings.json e imposta il valore di WebConfig:Name tramite la variabile di ambiente, il codice è il seguente:
Nota: Modifica il valore di WebConfig:Name per la variabile ambientale, il nome della variabile è: WebConfig__Name (Il centro è separato da un doppio sottofondo)
Prova a riavviare il progetto e trova il valore di WebConfig:Name,È stato sovrascritto dal valore imposto dalla variabile ambiente, come mostrato nella figura sottostante:
Prova a modificare il valore predefinito tramite la riga di comando e avvia il comando come segue:
Come mostrato di seguito:
Prova con pratica la priorità delle chiavi di configurazione, e basta.
|