Crear nuevas secciones de configuración

Si lo desea, puede extender el conjunto estándar de opciones de configuración de ASP.NET con sus propias etiquetas XML de configuración. Para ello, debe crear su propio controlador de sección de configuración. El controlador debe ser una clase de .NET Framework que implemente la interfaz IConfigurationSectionHandler. El controlador de sección interpreta y procesa las opciones definidas en las etiquetas XML de una porción específica de un archivo Web.config y devuelve el objeto de configuración correspondiente basado en las opciones de configuración. El objeto de configuración devuelto por la clase de controlador puede ser cualquier estructura de datos; no está limitado por ninguna clase de configuración básica o ningún formato de configuración.

En el ejemplo siguiente se define una interfaz IConfigurationSectionHandler.

Namespace System.Web.Configuration 
   Public Interface IConfigurationSectionHandler 
      Function Create(parent As Object, input As Object, _
         node As XmlNode) As Object
   End Interface
End Namespace
[C#]
namespace System.Web.Configuration 
{
   public interface IConfigurationSectionHandler 
   {
      public Object Create(Object parent, Object input, 
         XmlNode node);
   }
}

También puede definir una sección propia que utilice el mismo controlador de configuración que la sección <appSettings>. Por ejemplo:

<configuration>
   <configSections>
      <sectionGroup name="myGroup">
         <sectionGroup name="nestedGroup">
            <section name="mySection" type=
               "System.Configuration.NameValueSectionHandler,System"/>
         </sectionGroup>
      </sectionGroup>
   </configSections>

   <myGroup>
      <nestedGroup>
         <mySection>
            <add key="key_one" value="1"/>
            <add key="key_two" value="2"/>
         </mySection>
      </nestedGroup>
   </myGroup>
</configuration>

El valor de la nueva sección de configuración definida en el ejemplo anterior se lee de este modo:

Dim config As NameValueCollection =      
   ConfigurationSettings.GetConfig("myGroup/nestedGroup/mySection")
Response.Write("The value of key_one is " & config("key_one") & "<br>")
Response.Write("The value of key_two is " & config("key_two") & "<br>")
[C#]
NameValueCollection config = (NameValueCollection)
   ConfigurationSettings.GetConfig("myGroup/nestedGroup/mySection");
Response.Write("The value of key_one is " + config["key_one"] + "<br>");
Response.Write("The value of key_two is " + config["key_two"] + "<br>");

Vea también

Configuración de ASP.NET | Configurar aplicaciones