Erstellen neuer Konfigurationsabschnitte

Sie können die standardmäßigen ASP.NET-Konfigurationseinstellungen durch eigene XML-Konfigurationstags erweitern. Dazu erstellen Sie einfach einen eigenen Handler für Konfigurationsabschnitte. Der Handler muss einer .NET Framework-Klasse entsprechen, die die IConfigurationSectionHandler-Schnittstelle implementiert. Der Abschnittshandler interpretiert und verarbeitet die in den XML-Tags definierten Einstellungen innerhalb eines bestimmten Bereichs einer Datei Web.config und gibt das geeignete, auf den Konfigurationseinstellungen basierende Konfigurationsobjekt zurück. Das von der Handlerklasse zurückgegebene Konfigurationsobjekt kann eine beliebige Datenstruktur darstellen und ist auf keine Basiskonfigurationsklasse bzw. auf kein Konfigurationsformat beschränkt.

Im folgenden Beispiel wird eine IConfigurationSectionHandler-Schnittstelle definiert.

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);
   }
}

Sie können auch einen eigenen Abschnitt definieren, der denselben Konfigurationshandler wie der <appSettings>-Abschnitt verwendet. Beispiel:

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

Der Wert des neuen, im vorherigen Beispiel definierten Konfigurationsabschnitts kann wie folgt gelesen werden:

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>");

Siehe auch

ASP.NET-Konfiguration | Konfigurieren von .NET Framework-Anwendungen