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.