ASP.NET le projet principal commence, l’ordre d’exécution par défaut est : Hôte hôte -Configuration de lecture > -Paramètres de journal > -Service d’enregistrement de > (DI) -> Ajout de middleware -> Écoute de l’hébergement web -> Démarrage du travail en arrière-plan.
Le chargement de la configuration et la lecture sont au tout début du processus de démarrage. Profil de Microsoft dans ASP.NET Core :La connexion hyperlientérée est visible.
Révision:
Host.CreateDefaultBuilder, fournit la configuration par défaut de l’application dans l’ordre suivant :
- ChainedConfigurationProvider : Ajoutez un fournisseur existant comme source. Dans l’exemple de configuration par défaut, ajoutez la configuration hôte et définissez-la comme première source pour la configuration de l’application.
- Utilisez appsettings.json appsettings.json.
- Utilisez le fournisseur de configuration JSON via appSettings : JSON a fourni. Par exemple, les paramètres d’application. Production.json et les paramètres d’application. Development.json。
- Les secrets de l’application quand l’application s’exécute dans l’environnement.
- Utilisez des fournisseurs de configuration des variables d’environnement pour fournir des variables d’environnement directes.
- L’utilisation du fournisseur de configuration en ligne de commande est fournie via les paramètres de ligne de commande.
Le code source est le suivant :
Adresse du code source :La connexion hyperlientérée est visible.
Comme vous pouvez le voir dans le code, la priorité de configuration d’acquisition du programme est la suivante :appsettings.json -> appsettings.environment.json -> variables d’environnement -> arguments de ligne de commande。 Nous testons selon la priorité.
Créer une nouvelle méthode de console pour retourner toutes les informations de configuration, le code est le suivant :
D’abord, appsettings.json le fichier de configuration, comme suit :
Nouveaux paramètres d’application. Test.json configuration, comme suit :
Essayez de lancer le projet et voyez la configuration de WebConfig :Name et WebConfig :Date, comme montré sur l’image suivante :
{"Key » :"WebConfig :Name »,"Value » :"itsvse.com"},{"Key » :"WebConfig :Date »,"Value » :"2021"}
Localiser les propriétés ->launchSettings.jsonmodifier la configuration de l’environnement ASPNETCORE_ENVIRONMENT en Test, comme suit :
À ce moment-là, la procédureJe vais lire les paramètres de l’application. Test.json configuration, essaie de redémarrer le projet, trouveWebConfig:Name 已经覆盖了, comme montré dans la figure ci-dessous :
{"Key » :"WebConfig :Name »,"Value » :"itsvse.com test"},{"Key » :"WebConfig :Date »,"Value » :"2021"}
Modifiez à nouveau le fichier launchSettings.json et définissez la valeur de WebConfig :Name via la variable d’environnement, le code est le suivant :
Note : Modifiez la valeur de WebConfig :Name pour la variable d’environnement, le nom de la variable est : WebConfig__Name (Le centre est séparé par un double soulignement)
Essayez de redémarrer le projet et trouvez la valeur de WebConfig :Name,Elle a été écrasée par la valeur définie par la variable environnement, comme montré dans la figure ci-dessous :
Essayez de modifier la valeur par défaut via la ligne de commande, puis lancez la commande comme suit :
Comme montré ci-dessous :
Testez la priorité des clés de configuration avec de la pratique, et c’est tout.
|