Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 28399|Respuesta: 1

[Fuente] Arquitectura: ASP.NET Core configura dinámicamente las actualizaciones en caliente basadas en Consul

[Copiar enlace]
Publicado en 16/10/2020 18:25:34 | | | |
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:

[Arquitectura]. net/c# implementa la configuración distribuida del almacén de claves/valores basada en Consul
https://www.itsvse.com/thread-9420-1-1.html

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.




Anterior:[Arquitectura]. net/c# implementa la configuración distribuida del almacén de claves/valores basada en Consul
Próximo:【Arquitectura】ASP.NET Core está altamente disponible gracias a los servicios de Consul
Publicado en 5/1/2022 14:42:56 |
Aprende a aprender
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com