2 von 5 fanden dies hilfreich - Dieses Thema bewerten.

ConfigurationManager-Klasse

Hinweis: Diese Klasse ist neu in .NET Framework, Version 2.0.

Stellt Zugriff auf Konfigurationsdateien für Clientanwendungen bereit. Diese Klasse kann nicht geerbt werden.

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

public static class ConfigurationManager
public final class ConfigurationManager
public final class ConfigurationManager

Die ConfigurationManager-Klasse ermöglicht es Ihnen, auf Computer-, Anwendungs- und Benutzerkonfigurationsinformationen zuzugreifen. Diese Klasse ersetzt die ConfigurationSettings-Klasse, die veraltet ist.

Clientanwendungen werden auf dem Clientcomputer ausgeführt, während Webanwendungen auf dem Servercomputer ausgeführt werden, mit dem der Client verbunden ist.

Sie können die integrierten System.Configuration-Typen verwenden oder Ableitungen von ihnen durchführen, um Konfigurationsinformationen zu behandeln. Wenn diese Typen verwendet werden, können Sie direkt mit Konfigurationsinformationen arbeiten und Konfigurationsdateien erweitern, um benutzerdefinierte Informationen einzuschließen.

Die ConfigurationManager-Klasse enthält Member, die es Ihnen ermöglichen, die folgenden Aufgaben auszuführen.

  • Lesen Sie einen Abschnitt aus einer Konfigurationsdatei. Rufen Sie die GetSection-Methode auf, um auf Konfigurationsinformationen zuzugreifen. Verwenden Sie für einige Abschnitte, wie appSettings und connectionStrings, die AppSettings-Klasse und die ConnectionStrings-Klasse. Diese Member führen schreibgeschützte Vorgänge mit einer einzigen zwischengespeicherten Instanz der Konfiguration aus und sind multithreadfähig.

  • Lesen und schreiben Sie Konfigurationsdateien im Ganzen. Ihre Anwendung kann Konfigurationseinstellungen auf allen Ebenen lokal oder remote für sich selbst oder andere Anwendungen und Computer lesen und schreiben. Verwenden Sie eine der von der ConfigurationManager-Klasse bereitgestellten Methoden, um eine Konfigurationsdatei, z. B. SampleApp.exe.config, zu öffnen. Diese Methoden geben ein Configuration-Objekt zurück, das wiederum Methoden und Eigenschaften verfügbar macht, die sie für die Arbeit mit den zugeordneten Konfigurationsdateien verwenden können. Die Methoden führen Lese- oder Schreibvorgänge durch und erstellen die Konfigurationsdaten immer neu, wenn eine Datei geschrieben wird.

  • Unterstützen Sie Konfigurationsaufgaben. Die folgenden Typen werden verwendet, um verschiedene Konfigurationsaufgaben zu unterstützen:

    Zusätzlich zur Arbeit mit vorhandenen Konfigurationsinformationen können Sie benutzerdefinierte Konfigurationselemente erstellen und damit arbeiten, indem Sie die integrierten Konfigurationstypen wie die Klassen ConfigurationElement, ConfigurationElementCollection, ConfigurationProperty und ConfigurationSection erweitern. Ein Beispiel dafür, wie ein integrierter Konfigurationstyp programmgesteuert erweitert wird, finden Sie unter ConfigurationSection. Ein Beispiel dafür, wie mithilfe des attributbasierten Modells ein integrierter Konfigurationstyp erweitert wird, finden Sie unter ConfigurationElement.

Hinweise für Implementierer Die Configuration-Klasse ermöglicht den programmgesteuerten Zugriff für das Bearbeiten von Konfigurationsdateien. Sie verwenden eine der Open-Methoden, die von ConfigurationManager zur Verfügung gestellt werden. Diese Methoden geben ein Configuration-Objekt zurück, das wiederum die zum Behandeln der zugrunde liegenden Konfigurationsdateien erforderlichen Methoden und Eigenschaften bereitstellt. Sie können auf diese Dateien zum Lesen oder Schreiben zugreifen. Um die Konfigurationsdateien zu lesen, verwenden Sie GetSection oder GetSectionGroup, wenn Sie die Konfigurationsinformationen lesen möchten. Der lesende Benutzer oder Prozess muss die folgenden Berechtigungen besitzen:

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

  • Leseberechtigungen für alle übergeordneten Konfigurationsdateien.

Wenn für die Anwendung der schreibgeschützte Zugriff auf die eigene Konfiguration erforderlich ist, wird empfohlen, die GetSection-Methode zu verwenden. Diese Methode stellt den Zugriff auf die zwischengespeicherten Konfigurationswerte für die aktuelle Anwendung bereit. Die Leistung ist dabei besser als bei der Configuration-Klasse. Um in die Konfigurationsdateien zu schreiben, verwenden eine der Save-Methoden. Der lesende Benutzer oder Prozess muss die folgenden Berechtigungen besitzen:
  • Schreibberechtigung für die Konfigurationsdatei und das Verzeichnis auf der aktuellen Ebene der Konfigurationshierarchie.

  • Leseberechtigungen für alle Konfigurationsdateien.

Im folgenden Codebeispiel wird veranschaulicht, wie die ConfigurationManager-Klasse verwendet wird, um auf einen benutzerdefinierten Konfigurationsabschnitt zuzugreifen. Wenn der Abschnitt nicht vorhanden ist, wird er erstellt und der Konfigurationsdatei hinzugefügt. Die in diesem Beispiel verwendete benutzerdefinierte Abschnittsklasse wird in dem in der ConfigurationPropertyAttribute-Klasse enthaltenen Beispiel implementiert.

// Create a custom section.
static UsingConfigurationManager()
{
    // Get the application configuration file.
    System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);
 
    // If the section does not exist in the configuration
    // file, create it and save it to the file.
    if (config.Sections[customSectionName] == null)
    {
        custSection = new CustomSection();
        config.Sections.Add(customSectionName, custSection);
        custSection =
            config.GetSection(customSectionName) as CustomSection;
        custSection.SectionInformation.ForceSave = true;
        config.Save(ConfigurationSaveMode.Full);
    }
}

Das Beispiel funktioniert mit den in der folgenden Konfigurationsdatei veranschaulichten Elementen, die beim ersten Ausführen des Beispiels generiert wird.

HinweisHinweis

Sie müssen das Version-Attribut festlegen, um die Versionskontrollanforderungen wiederzugeben.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="CustomSection" 
       type="Samples.Config.CustomSection,
         ConfigurationManager, 
         Version=1.0.0.0, 
         Culture=neutralPublicKeyToken=null" 
         allowDefinition="Everywhere" 
         allowExeDefinition="MachineToApplication" 
         restartOnExternalChanges="true" />
  </configSections>
  <connectionStrings>
    <add name="ConnStr1" 
      connectionString="LocalSqlServer: data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=aspnetdb"
      providerName="System.Data.SqlClient" />
    <add name="ConnStr2" 
      connectionString="LocalSqlServer: data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=aspnetdb"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <add key="AppSetting0" 
      value="Monday, February 28, 2005 1:27:59 PM" />
    <add key="AppSetting1" 
      value="Monday, February 28, 2005 1:36:40 PM" />
  </appSettings>
  <CustomSection fileName="default.txt" maxUsers="1000" 
     maxIdleTime="00:10:00" />
</configuration>
System.Object
  System.Configuration.ConfigurationManager
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
© 2013 Microsoft. Alle Rechte vorbehalten.