martes, 17 de diciembre de 2013

AppBlock.Config

Permite manejar de forma fácil y sencilla las configuraciones de una aplicación. Sirve tanto para aplicaciones Web como para aplicaciones de escritorio. Entre las funcionalidades destacadas están:

  • División en múltiples ficheros de configuración sin necesidad del atributo “ConfigSource
  • Jerarquización de ficheros de configuración
  • Carga de ficheros de configuración basada en Entorno
  • Encriptar/desencriptar bloques de configuración de forma sencilla

Podéis encontrarlo en AppBlockConfig.codeplex.com, bajo el paradigma de Appblocks: http://AppBlocks.Codeplex.com

Uso de AppBlock.Config

La utilización de este módulo es muy sencilla. Basta con llamar al método de carga de configuraciones al inicio de una aplicación (bien en el global.asax o en en el constructor de applicación para aplicaciones de escritorio.

ConfigManager.LoadConfigurations();image

Si queremos especificar que cargue ficheros de configuración de niveles superiores en la jerarquía de carpetas de la aplicación basta con indicarle el número de niveles de directorio padre:


ConfigManager.LoadConfigurations(1);


Este módulo permite además definir configuraciones específicas basadas en el nombre de la máquina donde se ejecuta, lo que facilita cargar configuraciones específicas en función del entorno donde se ejecuta.image


Ejemplo: tenemos tres entornos, C1,C2 y C3. Basta con declarar dentro de nuestras aplicaciones una carpeta ‘Config’ que contenga una carpeta por entorno o configuración específica. Una vez creados los ficheros hay que indicar en las propiedades de los ficheros que se copien al directorio de salida de la aplicación al compilar:


image


Al ejecutar la aplicación en invocar a LoadConfigurations() se cargarán las configuraciones comunes y se complementarán con las configuraciones específicas del entorno. Esto permite tener organizadas las configuraciones separando la parte común de las específicas (sin necesidad de recurrir a transformaciones en ficheros xml).


Además, supongamos que queremos cargar la configuración de un entorno concreto, para probar las configuraciones de ese entorno o reproducir un error. Es tan sencillo como especificar el nivel desde donde se cargarán los ficheros de configuración (cero si es el raíz de la aplicación) y el nombre del entorno:


ConfigManager.LoadConfigurations(0, “C3”);


ConfigHelper


Este módulo contiene un helper que facilita las tareas de obtención de configuraciones de la sección Appsettings y devolver valores por defecto (en lugar de lanzar una excepción). Esto mejora la resistencia a fallos en nuestra aplicación.


AppBlocks.ConfigHelper.GetAppSetting<int>(“CounterValue”);

Este método devuelve 0 si no existe la clave.


AppBlocks.ConfigHelper.GetAppSetting<int>(“CounterValue”, 1);


Este método devuelve 1 si no existe la clave.


AppBlocks.ConfigHelper.GetAppSetting(“StringKey”);


Este método devuelve el valor de la cadena. Si no existe devuelve


Próximamente



  • Extender el helper para leer secciones concretas

  • Extender la funcionalidad para simplificar el uso de varias cadenas de conexión.

  • Crear una ‘manejador’ que permita consultar las configuraciones actuales y modificarlas.

  • Encriptación desencriptación de secciones.

No hay comentarios:

Etiquetas