Aunque esto es algo muy poco conocido por los programadores de ASP.NET, es posible mover secciones completas de la configuraci贸n a sus propios archivos independientes de web.config. Ello se consigue usando el atributo configSource en la secci贸n correspondiente. Por ejemplo, podemos escribir en el nodo ConnectionStrings lo siguiente:

<connectionStrings configSource="conexiones.config"/> 

y ahora tener un archivo independiente llamado conexiones.config que contenga esa secci贸n completa:

<connectionStrings> 
<add name="Clientes" connectionString="..."/>
<add name="Principal" connectionString="..."/> </connectionStrings>

Esto puede resultar 煤til en muchas ocasiones. Por ejemplo, podemos cambiar m谩s f谩cilmente entre los ajustes de producci贸n y de desarrollo, manteniendo en com煤n el resto de la configuraci贸n. Otro motivo ser铆a proteger de manera especial esa secci贸n y otorgarle sus propios permisos de lectura y escritura.

Uno de los motivos m谩s importantes ser铆a el evitar que se reinicie la aplicaci贸n ante determinados cambios. Por ejemplo si sacamos a un archivo la secci贸n AppSettings de ajustes personales, a lo mejor no necesitamos que se reinicie la aplicaci贸n s贸lo modificar algo en ella. Al separarla a su propio archivo conseguiremos este efecto ya que cambia el archivo externo pero no el web.config, y aunque modifiquemos algo en 茅l no se fuerza el reinicio.

Ello es debido a que en machine.config (la configuraci贸n principal del equipo) la secci贸n AppSettings est谩 marcada con el atributo restartOnExternalChanges="false". Hay otras secciones que tiene este atributo a true por lo que si se cambia el archivo externo s铆 que provocaremos un reinicio.

Extraido del curso de preparaci贸n del examen 70-528 de desarrollo Web de campusMVP.

💪🏻 驴Este post te ha ayudado?, 驴has aprendido algo nuevo?
Pues NO te pido que me invites a un caf茅... Te pido algo m谩s f谩cil y mucho mejor