🔧🖥️ Domina la Configuración en .NET Como un Pro
🛠️ Optimizando tu Aplicación .NET: 💡 Sacando el Máximo Provecho de la Configuración 🚀
Introducción
Hoy, quiero hablarles sobre una herramienta no tan oculta en el ecosistema de .NET: su sistema de configuración. Este sistema no solo simplifica el desarrollo de aplicaciones robustas y escalables sino que también facilita la adaptabilidad a diferentes entornos, desde desarrollo hasta producción, todo esto bajo la infraestructura de Azure.
¿Qué es este servicio?
El sistema de configuración en .NET es un marco poderoso y flexible diseñado para gestionar las configuraciones de aplicaciones de una manera centralizada y segura. Permite a los desarrolladores y arquitectos de soluciones acceder a la configuración desde múltiples fuentes como archivos JSON, variables de entorno, Azure Key Vault, y más, ofreciendo así un alto nivel de personalización y control.
¿Qué cubrirá este post?
A lo largo de este post, abordaremos temas clave como:
La estructura básica del sistema de configuración en .NET.
Cómo acceder y manipular diferentes fuentes de configuración.
Integración con servicios de Azure para un manejo seguro y eficiente de las configuraciones.
¿Por qué es importante para los arquitectos de soluciones?
Para los arquitectos de soluciones, entender y aplicar eficazmente el sistema de configuración en .NET es crucial. Permite diseñar aplicaciones que son fáciles de adaptar y mantener, especialmente en entornos complejos como los ofrecidos por Azure. La habilidad para gestionar configuraciones de manera dinámica y segura facilita la implementación de cambios y la escalabilidad de aplicaciones sin comprometer la seguridad o la integridad del sistema.
¿Qué problemas puede resolver?
El sistema de configuración en .NET aborda varios desafíos críticos, incluyendo:
Gestión de configuraciones en múltiples entornos y fases de desarrollo.
Seguridad y cifrado de datos sensibles, utilizando herramientas como Azure Key Vault.
Reducción de la duplicación de código y aumento de la reutilización a través de la centralización de la configuración.
Facilidad de mantenimiento y actualización de configuraciones sin necesidad de desplegar nuevamente la aplicación.
Ejercicio en Práctica
En este ejercicio vamos a ver como usar las distintas maneras en que podemos usar la configuración en un proyecto .Net
Configuracion sencilla
- Usaremos un proyecto de consola de .Net 7 y le instalaremos el siguiente paquete Microsoft.Extensions.Configuration
- Luego en nuestro proyecto crearemos una variable settings
var settings = new Dictionary<string, string>
{
["variable1"] = "Hola mundo",
["variable2"] = "adios mundo"
};
- Llamaremos al **ConfigurationBuilder **, esto se utiliza para crear ajustes de configuración basados en clave/valor para su uso en nuestra aplicación. le pasamos como parametro la variable **settings **creada en el punto anterior e imprimimos por pantalla los valores
var builder = new ConfigurationBuilder()
.AddInMemoryCollection(settings)
.Build();
Console.WriteLine(builder["variable1"]);
Console.WriteLine(builder["variable2"]);
Leyendo de un archivo json
- Para este ejemplo crearemos un archivo json con lo siguiente:
{
"variable1": "Hola mundo desde json",
"variable2": "adios mundo desde json"
}
e instalamos el siguiente nuget package
- En nuestro proyecto agregaremos la siguiente linea para leer el archivo json
var builderJson = new ConfigurationBuilder()
.AddInMemoryCollection(settings)
.AddJsonFile("appsettings.json"); //<------
var config = builderJson.Build();
Console.WriteLine(config["variable1"]);
Console.WriteLine(config["variable2"]);
- Pero antes debemos cambiar una propiedad en el archivo json para que pueda ser leido
- Al ejecutar la aplicación vemos la siguiente salida
Utilizando Variables de Entorno
- En el proyecto debemos instalar este nuget package
- En las propiedades del proyecto abrimos la siguiente opción (Visual Studio 2022):
- y en esta opción agregamos las variables de entorno
- En nuestro proyecto agregamos el siguiente código donde usaremos ahora el método AddEnvironmentVariables para leer las variables de entorno.
var builderJson = new ConfigurationBuilder()
.AddInMemoryCollection(settings)
.AddEnvironmentVariables();
var config = builderJson.Build();
Console.WriteLine(config["variable1"]);
Console.WriteLine(config["variable2"]);
- Al ejecutar el proyecto vemos la siguiente salida
Consideraciones finales
Dominar el sistema de configuración en .NET puede transformar la forma en que desarrollamos y desplegamos aplicaciones en Azure, haciéndolas más flexibles, seguras y fáciles de mantener.
A través de este post, espero haber iluminado el camino para que aprovechen al máximo esta poderosa herramienta en sus proyectos.
Les invito a experimentar y jugar con las posibilidades que ofrece, siempre buscando implementar las mejores prácticas y mantener la seguridad como prioridad.