Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ConfigurationSection-Klasse

 

Veröffentlicht: Oktober 2016

Stellt einen Abschnitt innerhalb einer Konfigurationsdatei dar.

Namespace:   System.Configuration
Assembly:  System.Configuration (in System.Configuration.dll)

System.Object
  System.Configuration.ConfigurationElement
    System.Configuration.ConfigurationSection
      System.Configuration.AppSettingsSection
      System.Configuration.ClientSettingsSection
      System.Configuration.ConnectionStringsSection
      System.Configuration.DefaultSection
      System.Configuration.IgnoreSection
      System.Configuration.ProtectedConfigurationSection
      System.Configuration.UriSection
      System.Data.Services.Configuration.DataServicesFeaturesSection
      System.Drawing.Configuration.SystemDrawingSection
      System.IdentityModel.Configuration.SystemIdentityModelSection
      System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection
      System.Net.Configuration.AuthenticationModulesSection
      System.Net.Configuration.ConnectionManagementSection
      System.Net.Configuration.DefaultProxySection
      System.Net.Configuration.RequestCachingSection
      System.Net.Configuration.SettingsSection
      System.Net.Configuration.SmtpSection
      System.Net.Configuration.WebRequestModulesSection
      System.Runtime.Caching.Configuration.MemoryCacheSection
      System.Runtime.Serialization.Configuration.DataContractSerializerSection
      System.Runtime.Serialization.Configuration.NetDataContractSerializerSection
      System.ServiceModel.Activation.Configuration.DiagnosticSection
      System.ServiceModel.Activation.Configuration.NetPipeSection
      System.ServiceModel.Activation.Configuration.NetTcpSection
      System.ServiceModel.Activities.Configuration.WorkflowHostingOptionsSection
      System.ServiceModel.Activities.Tracking.Configuration.TrackingSection
      System.ServiceModel.Configuration.BehaviorsSection
      System.ServiceModel.Configuration.BindingsSection
      System.ServiceModel.Configuration.ClientSection
      System.ServiceModel.Configuration.ComContractsSection
      System.ServiceModel.Configuration.CommonBehaviorsSection
      System.ServiceModel.Configuration.DiagnosticSection
      System.ServiceModel.Configuration.ExtensionsSection
      System.ServiceModel.Configuration.ProtocolMappingSection
      System.ServiceModel.Configuration.ServiceHostingEnvironmentSection
      System.ServiceModel.Configuration.ServicesSection
      System.ServiceModel.Configuration.StandardEndpointsSection
      System.ServiceModel.Routing.Configuration.RoutingSection
      System.Transactions.Configuration.DefaultSettingsSection
      System.Transactions.Configuration.MachineSettingsSection
      System.Web.Configuration.AnonymousIdentificationSection
      System.Web.Configuration.AuthenticationSection
      System.Web.Configuration.AuthorizationSection
      System.Web.Configuration.CacheSection
      System.Web.Configuration.ClientTargetSection
      System.Web.Configuration.CompilationSection
      System.Web.Configuration.CustomErrorsSection
      System.Web.Configuration.DeploymentSection
      System.Web.Configuration.FullTrustAssembliesSection
      System.Web.Configuration.GlobalizationSection
      System.Web.Configuration.HealthMonitoringSection
      System.Web.Configuration.HostingEnvironmentSection
      System.Web.Configuration.HttpCookiesSection
      System.Web.Configuration.HttpHandlersSection
      System.Web.Configuration.HttpModulesSection
      System.Web.Configuration.HttpRuntimeSection
      System.Web.Configuration.IdentitySection
      System.Web.Configuration.MachineKeySection
      System.Web.Configuration.MembershipSection
      System.Web.Configuration.OutputCacheSection
      System.Web.Configuration.OutputCacheSettingsSection
      System.Web.Configuration.PagesSection
      System.Web.Configuration.PartialTrustVisibleAssembliesSection
      System.Web.Configuration.ProcessModelSection
      System.Web.Configuration.ProfileSection
      System.Web.Configuration.ProtocolsSection
      System.Web.Configuration.RoleManagerSection
      System.Web.Configuration.ScriptingAuthenticationServiceSection
      System.Web.Configuration.ScriptingJsonSerializationSection
      System.Web.Configuration.ScriptingProfileServiceSection
      System.Web.Configuration.ScriptingRoleServiceSection
      System.Web.Configuration.ScriptingScriptResourceHandlerSection
      System.Web.Configuration.SecurityPolicySection
      System.Web.Configuration.SessionPageStateSection
      System.Web.Configuration.SessionStateSection
      System.Web.Configuration.SiteMapSection
      System.Web.Configuration.SqlCacheDependencySection
      System.Web.Configuration.TraceSection
      System.Web.Configuration.TrustSection
      System.Web.Configuration.UrlMappingsSection
      System.Web.Configuration.WebControlsSection
      System.Web.Configuration.WebPartsSection
      System.Web.Configuration.XhtmlConformanceSection
      System.Web.Mobile.DeviceFiltersSection
      System.Web.Services.Configuration.WebServicesSection
      System.Web.UI.MobileControls.MobileControlsSection
      System.Windows.Forms.WindowsFormsSection
      System.Workflow.Activities.Configuration.ActiveDirectoryRoleFactoryConfiguration
      System.Workflow.Activities.ExternalDataExchangeServiceSection
      System.Workflow.Runtime.Configuration.WorkflowRuntimeSection
      System.Xml.Serialization.Configuration.DateTimeSerializationSection
      System.Xml.Serialization.Configuration.SchemaImporterExtensionsSection
      System.Xml.Serialization.Configuration.XmlSerializerSection
      System.Xml.XmlConfiguration.XmlReaderSection
      System.Xml.XmlConfiguration.XsltConfigSection

public abstract class ConfigurationSection : ConfigurationElement

NameBeschreibung
System_CAPS_protmethodConfigurationSection()

Initialisiert eine neue Instanz der ConfigurationSection-Klasse.

NameBeschreibung
System_CAPS_pubpropertyCurrentConfiguration

Ruft einen Verweis auf der obersten Ebene Configuration -Instanz, die die Konfigurationshierarchie darstellt, die die aktuelle ConfigurationElement -Instanz gehört.(Geerbt von „ConfigurationElement“.)

System_CAPS_pubpropertyElementInformation

Ruft ein ElementInformation Objekt, das die nicht anpassbaren Informationen und Funktionen von enthält die ConfigurationElement Objekt.(Geerbt von „ConfigurationElement“.)

System_CAPS_protpropertyElementProperty

Ruft die ConfigurationElementProperty -Objekt, das darstellt, die ConfigurationElement Objekt selbst.(Geerbt von „ConfigurationElement“.)

System_CAPS_protpropertyEvaluationContext

Ruft das ContextInformation-Objekt für das ConfigurationElement-Objekt ab.(Geerbt von „ConfigurationElement“.)

System_CAPS_protpropertyHasContext

Ruft einen Wert, der angibt, ob die CurrentConfiguration -Eigenschaft ist null.(Geerbt von „ConfigurationElement“.)

System_CAPS_protpropertyItem[ConfigurationProperty]

Ruft ab oder legt eine Eigenschaft oder ein Attribut dieses Konfigurationselements.(Geerbt von „ConfigurationElement“.)

System_CAPS_protpropertyItem[String]

Ruft eine Eigenschaft, ein Attribut oder ein untergeordnetes Element dieses Konfigurationselements ab oder legt diese bzw. dieses fest.(Geerbt von „ConfigurationElement“.)

System_CAPS_pubpropertyLockAllAttributesExcept

Ruft die Auflistung gesperrter Attribute ab.(Geerbt von „ConfigurationElement“.)

System_CAPS_pubpropertyLockAllElementsExcept

Ruft die Auflistung gesperrter Elemente ab.(Geerbt von „ConfigurationElement“.)

System_CAPS_pubpropertyLockAttributes

Ruft die Auflistung gesperrter Attribute (Geerbt von „ConfigurationElement“.)

System_CAPS_pubpropertyLockElements

Ruft die Auflistung gesperrter Elemente ab.(Geerbt von „ConfigurationElement“.)

System_CAPS_pubpropertyLockItem

Ruft ab oder legt einen Wert, der angibt, ob das Element gesperrt ist.(Geerbt von „ConfigurationElement“.)

System_CAPS_protpropertyProperties

Ruft die Auflistung von Eigenschaften ab.(Geerbt von „ConfigurationElement“.)

System_CAPS_pubpropertySectionInformation

Ruft ein SectionInformation Objekt, das die nicht anpassbaren Informationen und Funktionen von enthält die ConfigurationSection Objekt.

NameBeschreibung
System_CAPS_protmethodDeserializeElement(XmlReader, Boolean)

Liest XML aus der Konfigurationsdatei.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodDeserializeSection(XmlReader)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Liest XML aus der Konfigurationsdatei.

System_CAPS_pubmethodEquals(Object)

Vergleicht das aktuelle ConfigurationElement Instanz mit dem angegebenen Objekt.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Ruft einen eindeutigen Wert, der die aktuelle darstellt ConfigurationElement Instanz.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodGetRuntimeObject()

Gibt ein benutzerdefiniertes Objekt beim Überschreiben in einer abgeleiteten Klasse zurück.

System_CAPS_protmethodGetTransformedAssemblyString(String)

Gibt die transformierte Version des angegebenen Assemblynamens zurück.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodGetTransformedTypeString(String)

Gibt die transformierte Version des angegebenen Namens zurück.(Geerbt von „ConfigurationElement“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_protmethodInit()

Legt die ConfigurationElement Objekt in ihren ursprünglichen Zustand.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodInitializeDefault()

Initialisiert einen Standardsatz von Werten für die ConfigurationElement Objekt.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodIsModified()

Gibt an, ob dieses Konfigurationselement geändert wurde, seit es zuletzt gespeichert oder geladen, wenn in einer abgeleiteten Klasse implementiert wurde.(Überschreibt ConfigurationElement.IsModified().)

System_CAPS_pubmethodIsReadOnly()

Ruft einen Wert ab, der angibt, ob das ConfigurationElement schreibgeschützt ist.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodListErrors(IList)

Fügt die Fehler über ungültige Eigenschaften in diesem ConfigurationElement -Objekt, und in allen Unterelementen der übergebenen Liste.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_protmethodOnDeserializeUnrecognizedAttribute(String, String)

Ruft einen Wert, der angibt, ob während der Deserialisierung ein unbekanntes Attribut aufgetreten ist.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodOnDeserializeUnrecognizedElement(String, XmlReader)

Ruft einen Wert, der angibt, ob während der Deserialisierung ein unbekanntes Element aufgetreten ist.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodOnRequiredPropertyNotFound(String)

Löst eine Ausnahme aus, wenn eine erforderliche Eigenschaft nicht gefunden wird.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodPostDeserialize()

Wird nach der Deserialisierung aufgerufen.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodPreSerialize(XmlWriter)

Vor der Serialisierung aufgerufen.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodReset(ConfigurationElement)

Setzt den internen Status dieses ConfigurationElement-Objekts zurück, einschließlich der Sperren und der Eigenschaftenauflistungen.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodResetModified()

Setzt bei Implementierung in einer abgeleiteten Klasse den Wert der IsModified-Methode auf false zurück.(Überschreibt ConfigurationElement.ResetModified().)

System_CAPS_protmethodSerializeElement(XmlWriter, Boolean)

Schreibt den Inhalt dieses Konfigurationselements in die Konfigurationsdatei bei Implementierung in einer abgeleiteten Klasse.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodSerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Erstellt eine XML-Zeichenfolge mit einer nicht zusammengeführten Ansicht des der ConfigurationSection Objekt als einen einzelnen Abschnitt in eine Datei geschrieben.

System_CAPS_protmethodSerializeToXmlElement(XmlWriter, String)

Schreibt die äußeren Tags dieses Konfigurationselements in die Konfigurationsdatei bei Implementierung in einer abgeleiteten Klasse.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodSetPropertyValue(ConfigurationProperty, Object, Boolean)

Legt eine Eigenschaft mit dem angegebenen Wert fest.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodSetReadOnly()

Legt die IsReadOnly -Eigenschaft für das ConfigurationElement -Objekt und alle untergeordneten Elemente.(Geerbt von „ConfigurationElement“.)

System_CAPS_protmethodShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Gibt an, ob das angegebene Element serialisiert werden soll, wenn für die angegebene Zielversion von die Objekthierarchie serialisiert wird die .NET Framework.

System_CAPS_protmethodShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Gibt an, ob die angegebene Eigenschaft serialisiert werden soll, wenn für die angegebene Zielversion von die Objekthierarchie serialisiert wird die .NET Framework.

System_CAPS_protmethodShouldSerializeSectionInTargetVersion(FrameworkName)

Gibt an, ob die aktuelle ConfigurationSection -Instanz serialisiert werden soll, wenn für die angegebene Zielversion von die Objekthierarchie serialisiert wird die .NET Framework.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

System_CAPS_protmethodUnmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Ändert die ConfigurationElement -Objekt, das alle Werte zu entfernen, die nicht gespeichert werden sollen.(Geerbt von „ConfigurationElement“.)

Sie verwenden die ConfigurationSection Klasse, um einen benutzerdefinierten Typ zu implementieren. Erweitern der ConfigurationSection Klasse, um die benutzerdefinierte Behandlung und den programmgesteuerten Zugriff auf benutzerdefinierte Konfigurationsabschnitte bereitzustellen. Informationen dazu, wie benutzerdefinierte Konfigurationsabschnitte, finden Sie unter How to: Create Custom Configuration Sections Using ConfigurationSection.

Ein Abschnitt registriert seinen Behandlungstyp mit einem Eintrag in der configSections Element. Ein Beispiel finden Sie unter der Auszug aus der Konfigurationsdatei im Abschnitt "Beispiel".

System_CAPS_noteHinweis

In früheren Versionen von .NET Framework-Konfigurationsabschnittshandler wurden verwendet, um die Einstellungen ändern programmgesteuert. Jetzt werden die Standard-Konfigurationsabschnitte dargestellt, von Klassen, Erweitern der ConfigurationSection Klasse.

Hinweise für Implementierer:

Programmgesteuerte oder einem deklarativen (attributierten) Codemodell können zum Erstellen von benutzerdefinierten Konfigurationsabschnitte:

  • Programmgesteuertes Modell. Dieses Modell ist es erforderlich, dass für jedes Abschnittsattribut im Sie eine Eigenschaft erstellen, um abzurufen, oder legen Sie dessen Wert, und fügen es der internen Eigenschaftensammlung der zugrunde liegenden ConfigurationElement Basisklasse.

  • Deklaratives Modell. Mit diesem einfachere Modell, so genannte Modell das attributierte können Sie ein Abschnittsattribut im zu definieren, indem Sie eine Eigenschaft verwenden und mit Attributen ergänzen. Diese Attribute informieren das ASP.NET-Konfigurationssystem über die Eigenschaftentypen und ihre Standardwerte. Mit diesen über Reflektion ermittelten Informationen ASP.NET-Konfigurationssystem Abschnitt Property-Objekte erstellt und führt die erforderliche Initialisierung.

Die Configuration -Klasse ermöglicht den programmgesteuerten Zugriff für das Bearbeiten von Konfigurationsdateien. Sie können diese Dateien zum Lesen oder Schreiben wie folgt zugreifen:

  • Lesen. Verwenden Sie GetSection oder GetSectionGroup nicht lesen. Beachten Sie, dass der Benutzer oder Prozess die folgenden Berechtigungen verfügen muss:

    • Die Leseberechtigung für die Konfigurationsdatei auf der aktuellen Ebene der Hierarchie.

    • Leseberechtigungen Sie für alle übergeordneten Konfigurationsdateien.

    Wenn die Anwendung nur-Lese-Zugriff auf die eigene Konfiguration benötigt, sollten Sie verwenden den GetSection überladene Methoden im Falle von ASP.NET-Webanwendungen, oder die ConfigurationManager.GetSection Methode im Fall von Clientanwendungen.

    Diese Methoden bieten Zugriff auf die zwischengespeicherten Konfigurationswerte für die aktuelle Anwendung, die eine bessere Leistung als hat die Configuration Klasse.

    System_CAPS_noteHinweis

    Wenn Sie eine statische GetSection Methode, die einen path -Parameter, der path Parameter muss finden Sie in der Anwendung, in der der Code ausgeführt wird, andernfalls der Parameter wird ignoriert und Konfigurationsinformationen für die derzeit ausgeführte Anwendung zurückgegeben wird.

  • Schreiben. Verwenden Sie eine von der Save Methoden, um Konfigurationsinformationen zu schreiben. Beachten Sie, dass der Benutzer oder Prozess, der schreibt die folgenden Berechtigungen verfügen muss:

    • Eine Schreibberechtigung für die Konfigurationsdatei und das Verzeichnis auf der aktuellen Ebene der Hierarchie.

    • Leseberechtigungen Sie für alle Konfigurationsdateien.

Im folgende Beispiel wird gezeigt, wie einen benutzerdefinierten Abschnitt programmgesteuert implementiert.

Ein vollständiges Beispiel, das zeigt, wie die Implementierung und Verwendung eines benutzerdefinierten Abschnitts mithilfe des attributierten Modells finden Sie unter ConfigurationElement.

// Define a custom section.
// The CustomSection type allows to define a custom section 
// programmatically.
public sealed class CustomSection : 
    ConfigurationSection
{
    // The collection (property bag) that contains 
    // the section properties.
    private static ConfigurationPropertyCollection _Properties;

    // Internal flag to disable 
    // property setting.
    private static bool _ReadOnly;

    // The FileName property.
    private static readonly ConfigurationProperty _FileName =
        new ConfigurationProperty("fileName", 
        typeof(string),"default.txt", 
        ConfigurationPropertyOptions.IsRequired);

    // The MaxUsers property.
    private static readonly ConfigurationProperty _MaxUsers =
        new ConfigurationProperty("maxUsers", 
        typeof(long), (long)1000, 
        ConfigurationPropertyOptions.None);

    // The MaxIdleTime property.
    private static readonly ConfigurationProperty _MaxIdleTime =
        new ConfigurationProperty("maxIdleTime", 
        typeof(TimeSpan), TimeSpan.FromMinutes(5), 
        ConfigurationPropertyOptions.IsRequired);

    // CustomSection constructor.
    public CustomSection()
    {
        // Property initialization
        _Properties = 
            new ConfigurationPropertyCollection();

        _Properties.Add(_FileName);
        _Properties.Add(_MaxUsers);
        _Properties.Add(_MaxIdleTime);
   }


    // This is a key customization. 
    // It returns the initialized property bag.
    protected override ConfigurationPropertyCollection Properties
    {
        get
        {
            return _Properties;
        }
    }


    private new bool IsReadOnly
    {
        get
        {
            return _ReadOnly;
        }
    }

    // Use this to disable property setting.
    private void ThrowIfReadOnly(string propertyName)
    {
        if (IsReadOnly)
            throw new ConfigurationErrorsException(
                "The property " + propertyName + " is read only.");
    }


    // Customizes the use of CustomSection
    // by setting _ReadOnly to false.
    // Remember you must use it along with ThrowIfReadOnly.
    protected override object GetRuntimeObject()
    {
        // To enable property setting just assign true to
        // the following flag.
        _ReadOnly = true;
        return base.GetRuntimeObject();
    }


    [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
        MinLength = 1, MaxLength = 60)]
    public string FileName
    {
        get
        {
            return (string)this["fileName"];
        }
        set
        {
            // With this you disable the setting.
            // Remember that the _ReadOnly flag must
            // be set to true in the GetRuntimeObject.
            ThrowIfReadOnly("FileName");
            this["fileName"] = value;
        }
    }

    [LongValidator(MinValue = 1, MaxValue = 1000000,
        ExcludeRange = false)]
    public long MaxUsers
    {
        get
        {
            return (long)this["maxUsers"];
        }
        set
        {
            this["maxUsers"] = value;
        }
    }

    [TimeSpanValidator(MinValueString = "0:0:30",
        MaxValueString = "5:00:0",
        ExcludeRange = false)]
    public TimeSpan MaxIdleTime
    {
        get
        {
            return  (TimeSpan)this["maxIdleTime"];
        }
        set
        {
            this["maxIdleTime"] = value;
        }
    }


}

Im folgende Beispiel ist ein Auszug aus der Konfigurationsdatei mit dem vorherigen Beispiel angewendet.

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<configSections>

<section name="CustomSection" type="Samples.AspNet. CustomSection, CustomConfigurationSection, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" allowDefinition="Everywhere" allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" />

</configSections>

<CustomSection fileName="default.txt" maxUsers="1000" maxIdleTime="00:15:00" />

</configuration>

.NET Framework
Verfügbar seit 2.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: