ASP.NET comienza el proyecto principal, el orden de ejecución por defecto es: Host Host -> Configuración de lectura -> Configuración de registro -> Servicio de registro (DI) -> Añadir middleware -> WebHost Escucha -> Inicio de trabajo en segundo plano.
La configuración de carga y lectura están al principio del proceso de arranque. Perfil de Microsoft en ASP.NET Core:El inicio de sesión del hipervínculo es visible.
Revisión:
Host.CreateDefaultBuilder, proporciona la configuración predeterminada de la app en el siguiente orden:
- ChainedConfigurationProvider: Añadir uno existente como fuente. En el ejemplo de configuración por defecto, añade la configuración del host y configúrala como la primera fuente para la configuración de la aplicación.
- Usa appsettings.json appsettings.json.
- Utiliza el proveedor de configuración JSON a través de appsettings: Proporcionó JSON. Por ejemplo, configuraciones de aplicaciones. Production.json y ajustes de aplicaciones. Development.json。
- Secretos de la app cuando la app se ejecuta en el entorno.
- Utiliza proveedores de configuración de variables de entorno para proporcionar variables de entorno a través de ellas.
- El uso del proveedor de configuración de línea de comandos se proporciona mediante parámetros de línea de comandos.
El código fuente es el siguiente:
Dirección del código fuente:El inicio de sesión del hipervínculo es visible.
Como puedes ver en el código, la prioridad de configuración para la adquisición del programa es:appsettings.json -> appsettings.environment.json -> variables de entorno -> argumentos de línea de comandos。 Analizamos según la prioridad.
Crea un nuevo método de consola para devolver toda la información de configuración, el código es el siguiente:
Primero, appsettings.json el archivo de configuración, de la siguiente manera:
Nuevos ajustes de app. Test.json configuración, la siguiente:
Prueba a iniciar el proyecto y mira la configuración de WebConfig:Name y WebConfig:Date, como se muestra en la siguiente imagen:
{"Key":"WebConfig:Name","Value":"itsvse.com"},{"Key":"WebConfig:Date","Value":"2021"}
Localizar propiedades ->launchSettings.jsonmodificado la configuración del entorno ASPNETCORE_ENVIRONMENT a Test, de la siguiente manera:
En este momento, el procedimientoLeeré los ajustes de la aplicación. Test.json configuración, intenta reiniciar el proyecto, encuentraWebConfig:Name 已经覆盖了, como se muestra en la figura siguiente:
{"Key":"WebConfig:Name","Value":"itsvse.com test"},{"Key":"WebConfig:Date","Value":"2021"}
Modifica el archivo launchSettings.json de nuevo y establece el valor de WebConfig:Name a través de la variable de entorno, el código es el siguiente:
Nota: Modifica el valor de WebConfig:Name para la variable de entorno, el nombre de la variable es: WebConfig__Name (El centro está separado por un doble guion bajo)
Prueba a reiniciar el proyecto y encuentra el valor de WebConfig:Name,Ha sido sobrescrito por el conjunto de valores de la variable de entorno, como se muestra en la figura siguiente:
Intenta modificar el valor por defecto a través de la línea de comandos y comienza el comando de la siguiente manera:
Como se muestra a continuación:
Prueba la prioridad de las claves de configuración con práctica, y eso es todo.
|