Unter .NET 2.0 ist ja sehr einfach mit dem Klassen [b]ConfigurationSection[/b] und [b]ConfigurationElement[/b] eigene Konfigurationsabschnitte in der Web.config/App.config zu integrieren. Dazu müssen alle Attribute und Elemente einer Konfiguration dem System bekannt gemacht werden, gibt man dann z.B. in der Web.config auch Parameter an die nicht bekannt sind, dann wird eine entsprechende Exception geworfen. Soweit auch alles gewollt. Manchmal ist es allerdings notwendig das man auch unbekannte Attribute oder Elemente annehmen möchte, da zum Beispiel die entsprechenden Parameter an ein PlugIn oder DataLayer weitergereicht werden sollen, diese aber Paramter brauchen die man während der Entwicklung nicht berücksichtigen kann oder will. Um dies zu ermöglichen stellt [b]ConfigurationElement[/b] zwei virtuelle Methoden zu Verfügung: [b]OnDeserializeUnrecognizedAttribute[/b] und [b]OnDeserializeUnrecognizedElement[/b]. Diese muss man entsprechend überschreiben, darf darin jedoch nicht die Basis-Methoden aufrufen. Beispiel: [c#] public class DataLayerElement : ConfigurationElement { [ConfigurationProperty("type", IsKey = true, IsRequired = true)] public string Type { get { return (string)base["type"]; } set { base["type"] = value; } } protected override bool OnDeserializeUnrecognizedAttribute(string name, string value) { Properties.Add(new ConfigurationProperty(name, typeof(string), value)); return true; } } [/c#] Wichtig ist noch das man [b]true[/b] zurückgibt, bei false wird weiterhin eine Exception für ein unbekanntes Attribut geworfen. Wie man die unbekannten Attribute oder Elemente weiterverarbeitet hängt von Anwendungsfall ab, hier werden die Attribute einfach der Properties-Auflistung hinzugefügt. Um diese später wieder auslesen zu können.