Simplifica tus archivos de configuración trozeandolos

Un característica poco conocida sobre los archivos de configuración de .net (app.config, web.config...) es la posibilidad de trocearlos. Me he decidido a comentar este tema depués de tener que pegarme con un enorme e inmantenible archivo de configuración.

La idea es simple, podemos sacar secciones de nuestro archivo .config a otros archivos .config.

Supongamos que, por ejemplo, queremos sacar a un archivo de configuración separado las cadenas de conexión de nuestra aplicación. Suele tener sentido hacer esto pues es algo que a menudo los usuarios tienen que tocar. Crearemos un archivo llamado, por ejemplo, connectionStrings.config con el contenido de la sección connectionStrings, tal y como se muestra a continuación:

    1 <connectionStrings>

    2   <add name="SiteSqlServer" connectionString="tuConnectionString" />

    3 </connectionStrings>

Luego, en nuestro archivo principal de configuración (app.config o web.config), tendremos que incluir la sección que hemos extraido a otro archivo, estableciendo en el atributo configSource de la sección el nombre el archivo en el que se encuentran los valores de configuración:

    1 <configuration>

    2   ...

    3   <connectionStrings configSource="connectionStrings.config" />

    4   ...

    5 </configuration>

Usando esta técnica podemos mantener en nuestro archivo principal de configuración todo lo relativo a infraestructura de la aplicación (Http Handlers, Configuration Section Handlers, configuración de la seguridad...) aquella información que cambia poco y los parámetros que son subceptibles de ser tocados por el usuario, sacarlos a archivos separados mucho más simples de editar y mantener.

Published 29/10/2007 19:22 por Rodrigo Corral
Archivado en:
Comparte este post:
http://geeks.ms/blogs/rcorral/archive/2007/10/29/simplifica-tus-archivos-de-configuraci-243-n-trozeandolos.aspx

Comentarios

# re: Simplifica tus archivos de configuración trozeandolos

Hola Rodrigo

Agregando tambien a tu post, se puede separar todas las secciones. Muy recomendable como dices en archivos de configuracion de membresia por ejemplo o cuestion relativas al hosting como ser el usaurio a impersonar o incluso los datos del servidor smtp utilizado para enviar email (en fin de todo)

Incluso en un archivo sitemap lo podemos separar, por ejemplo un nodo que tenga sus subnodos en otro sitemap (sin estar separando en provider diferentes)

 <siteMapNode siteMapFile="~/admin/Web.STARWARS.ADMIN.sitemap"></siteMapNode>

mas info:

Varios SitemapProviders en la misma App Web (archivos .sitemap)

geeks.ms/.../varios-sitemapproviders-en-la-misma-app-web-archivos-sitemap.aspx

Atributos generales heredados por elementos de una sección

msdn2.microsoft.com/.../ms228167(VS.80).aspx

Un abrazo

Jose A. Fernandez

Wednesday, October 31, 2007 2:11 AM por Jose A. Fernandez

# re: Simplifica tus archivos de configuración trozeandolos

Gracias por la aportación Jose!!!

Wednesday, October 31, 2007 8:47 AM por Rodrigo Corral

# re: Simplifica tus archivos de configuración trozeandolos

Excelente post, como siempre!

Abrazo - Octavio

Thursday, October 23, 2008 10:37 AM por Octavio Hernández

# GlobalBinnacle.com &raquo; Blog Archive &raquo; Trozear archivos de configuraci??n en .Net

PingBack desde  GlobalBinnacle.com  &raquo; Blog Archive   &raquo; Trozear archivos de configuraci??n en .Net