ASP.NET Core implementa microservicios, debes abordar el problema del centro de configuración. Sea un microservicio o no, es muy complicado cambiar el archivo de configuración uno a uno con más nodos, y hoy compartiré una solución ligera de centro de configuración basada en Consul. Las actualizaciones rápidas de los perfiles se consiguen sin necesidad de volver a ubicar.
fondo
Normalmente, las configuraciones en aplicaciones .NET se almacenan en archivos de configuración, como App.config, Web.config o appsettings.json. A partir de ASP.Net Core, surgió un nuevo marco de configuración extensible que permitía almacenar configuraciones fuera de los archivos de configuración y recuperarlas desde la línea de comandos, variables de entorno y más.
En proyectos tradicionales, modificar archivos de configuración requiere iniciar sesión en el entorno de producción para modificarlo, lo cual no es conveniente para el mantenimiento y la gestión cuando hay muchos proyectos.
Por ello, usamos Consul para configurar en línea en tiempo real, lo que logra el objetivo de responder en tiempo real solo cambiando la configuración sin reiniciar el servicio. La idea de implementación se basa en la clave/valor de Consul, y múltiples nodos Consul pueden sincronizarse y configurarse automáticamente, y nuestro programa consiste en implementar ConfigurationProvider y escuchar cambios en Consul.
Configuración del cónsul
Para descargar e instalar, puedes consultar:
ASP.NET Configuración del núcleo
Primero, instala el paquete nuget con el siguiente comando:
Modifica el archivo Program.cs con el siguiente código:
Para más información sobre la configuración, por favor consulte:
El inicio de sesión del hipervínculo es visible.
Configura la dirección del centro de servicio Consul y modifica el archivo appsettings.json de la siguiente manera:
El código del controlador es el siguiente:
Comienza el proyecto como se muestra a continuación:
Como en Consul no estamos configurando el valor de test, el fetch está vacío.
ÁbrelaEl inicio de sesión del hipervínculo es visible.Configura los archivos necesarios para el proyecto.
La dirección del perfil leída por el proyecto es:
"/WebApplication1/appsettings. Development.json" Por lo tanto, necesitamos crear una nueva carpeta "WebApplication1" y "appsettings". Development.json" como se muestra a continuación:
El valor es el siguiente:
Tras guardar, actualizamos la web como se muestra a continuación:
Caracteres chinos probados sin ningún problema, como se muestra a continuación:
Se puede ver que el valor de la prueba se obtiene con éxito, lo que realiza la función de configuración dinámica, y el archivo de configuración se actualiza en caliente sin reiniciar la página web. |