Création de nouvelles sections de configuration

Vous pouvez étendre le jeu standard des paramètres de configuration ASP.NET avec vos propres balises de configuration XML. Pour cela, vous devez créer votre propre gestionnaire de sections de configuration. Le gestionnaire doit être une classe .NET Framework qui implémente l'interface IConfigurationSectionHandler. Le gestionnaire de sections interprète et traite les paramètres définis dans les balises XML dans une partie spécifique d'un fichier Web.config et retourne un objet de configuration approprié basé sur les paramètres de configuration. L'objet de configuration que la classe du gestionnaire retourne peut être n'importe quelle structure de données ; il n'est pas limité à une classe de configuration de base ni à un format de configuration.

L'exemple suivant définit une interface 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);
   }
}

Vous pouvez aussi définir votre propre section qui utilise le même gestionnaire de configuration que la section <appSettings>. Par exemple :

<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>

Vous pouvez lire la valeur de la nouvelle section de configuration définie dans l'exemple précédent en procédant comme suit :

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

Voir aussi

Configuration ASP.NET | Configuration d'applications