Freigeben über


Gewusst wie: Lesen von Anwendungseinstellungen aus der Datei Web.config

Aktualisiert: November 2007

In diesem Beispiel wird eine vom Schlüssel customsetting1 identifizierte Anwendung aus der Datei Web.config gelesen. Das appSettings-Element ist eine NameValueCollection-Auflistung von Zeichenfolgen. Das Arbeiten mit Auflistungselementen ist möglicherweise etwas komplizierter als das Arbeiten mit anderen Konfigurationselementen.

Um Konfigurationseinstellungen für die Webkonfiguration auf Stammebene abzurufen, wird null an die OpenWebConfiguration-Methode übergeben.

Verwenden Sie zum Aktualisieren einer Konfigurationseinstellung die Save-Methode oder die SaveAs-Methode des Konfigurationsobjekts. Weitere Informationen finden Sie unter Verwenden der Konfigurationsklassen. Weitere Codebeispiele finden Sie im Abschnitt zur AppSettingsSection-Klasse und zugehörigen Klassen.

In diesem Beispiel wird die nicht statische Methode zum Abrufen von Konfigurationsdaten verwendet, mit der Sie Konfigurationsdaten aus jeder beliebigen Anwendung abrufen können. Verwenden Sie zum Abrufen von Konfigurationsdaten aus der Anwendung, in der sich Ihr Code befindet, die statische Methode, da diese schneller verarbeitet wird. Weitere Informationen finden Sie im Abschnitt Arbeiten mit lokalen und Remotekonfigurationseinstellungen in der Übersicht über die ASP.NET-Konfigurations-API.

Beispiel

Dim rootWebConfig1 As System.Configuration.Configuration
rootWebConfig1 = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Nothing)
If (0 < rootWebConfig1.AppSettings.Settings.Count) Then
    Dim customSetting As System.Configuration.KeyValueConfigurationElement
    customSetting = rootWebConfig1.AppSettings.Settings("customsetting1")
    If Not (Nothing = customSetting.Value) Then
        Console.WriteLine("customsetting1 application string = {0}", customSetting.Value)
    Else
        Console.WriteLine("No customsetting1 application string")
    End If
End If
         System.Configuration.Configuration rootWebConfig1 =
                System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
            if (0 < rootWebConfig1.AppSettings.Settings.Count)
            {
                System.Configuration.KeyValueConfigurationElement customSetting = 
                    rootWebConfig1.AppSettings.Settings["customsetting1"];
                if (null != customSetting)
                    Console.WriteLine("customsetting1 application string = \"{0}\"", 
                        customSetting.Value);
                else
                    Console.WriteLine("No customsetting1 application string");
            }

Kompilieren des Codes

Für dieses Beispiel ist Folgendes erforderlich:

  • In der Stammdatei Web.config muss ein appSettings-Element vorhanden sein, das folgendermaßen aussieht:

    <appSettings>
      <add key="customsetting1" value="Some text here"/>
    </appSettings>
    

    Das appSettings-Element ist ein unmittelbares Unterelement des <configuration>-Elements und ein Peer des system.web-Elements.

Robuste Programmierung

Aus dem appSettings-Element der Datei Web.config gelesene Werte sind immer vom Typ String. Wenn der angegebene Schlüssel in der Datei Web.config nicht vorhanden ist, tritt kein Fehler auf. Stattdessen wird eine leere Zeichenfolge zurückgegeben.

Sicherheit

Die Konfigurationsdatei sollte auf dem Server mithilfe von Windows-Sicherheitseinstellungen geschützt werden, um den Lesezugriff auf die Datei zu beschränken. Speichern Sie im appSettings-Element der Datei Web.config keine vertraulichen Informationen (z. B. Benutzeranmeldeinformationen). Ziehen Sie außerdem in Betracht, Konfigurationseinstellungen zu verschlüsseln. Weitere Informationen finden Sie unter Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration.

Siehe auch

Referenz

appSettings-Element (allgemeines Einstellungsschema)

ConfigurationSettings