¡Esta es una revisión vieja del documento!


Modelo de Configuración

¿Que es?

Es un mecanismo que nos ofrece DotNet para realizar configuraciones en nuestras aplicaciones.

¿Como se usa?

Primero tenemos que agregar una referencia al ensamblado System.Configuration, después de agregar dicha referencia existen varias formas de utilizarlos dependiendo de la configuración que deseemos utilizar, por ejemplo:

Para leer una cadena de conexión

System.Configuration.ConfigurationManager.ConnectionStrings["nombreConexion"]

Para leer una llave de aplicación

System.Configuration.ConfigurationManager.AppSettings["nombreLlave"]

Para leer una configuracion personalizada

var cfg = (MiConfiguracion)System.Configuration.ConfigurationManager.GetSection("nombreMiConfiguracion");

¿Como funciona?

Para empezar, la configuración de DotNet funciona como una herencia y todo empieza en el machine.config.

El machine.config es el archivo de mayor jerarquía en las configuraciones, este hereda a los web.config y a los app.config, en entornos web se usa el web.config, en las aplicaciones de escritorio se usa el app.config.

Existen configuraciones que pueden ser sobre-escritas, es decir, que una vez que se definieron pueden ser alteradas en sus herencias, pero existen otras configuraciones que no pueden ser sobre-escritas, es decir, una vez que se definieron su valor se mantiene durante toda la herencia.

Existe una carpeta llamada Config donde está el archivo machine.config y este hereda sus valores al archivo web.config que está en la misma carpeta, este archivo hereda su configuración al archivo web.config que se encuentra en cada sitio, y el archivo web.config de cada sitio hereda su configuración al archivo web.config de cada aplicación web, por último, cada archivo web.config de cada aplicación puede heredar su configuración a los archivos web.config de cada carpeta en la aplicación.