Freigeben über


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

Aktualisiert: November 2007

In diesem Beispiel wird eine Verbindungszeichenfolge aus der Datei Web.config gelesen. Das connectionStrings-Element ist eine ConnectionStringSettingsCollection-Auflistung von ConnectionStringSettings-Objekten. Das Arbeiten mit Auflistungselementen ist möglicherweise etwas komplizierter als das Arbeiten mit anderen Konfigurationselementen.

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 ConnectionStringsSection-Klasse und zugehörigen Klassen.

In diesem Beispiel wird die nicht statische Methode zum Abrufen von Konfigurationsdaten verwendet, mit der Sie Konfigurationsinformationen 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.

Hinweis:

Dieses Beispiel bezieht sich auf eine Website namens MyWebSiteRoot. Zum Ausführen des Beispiels müssen Sie entweder eine Website mit diesem Namen verwenden oder die für die OpenWebConfiguration-Methode bereitgestellte Zeichenfolge durch den Namen der verwendeten Website ersetzen.

Beispiel

Dim rootWebConfig As System.Configuration.Configuration
    rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")
Dim connString As System.Configuration.ConnectionStringSettings
If (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count) Then
    connString = rootWebConfig.ConnectionStrings.ConnectionStrings("NorthwindConnectionString")
    If Not (Nothing = connString.ConnectionString) Then
        Console.WriteLine("Northwind connection string = {0}", connString.ConnectionString)
    Else
        Console.WriteLine("No Northwind connection string")
    End If
End If
         System.Configuration.Configuration rootWebConfig =
                System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
            System.Configuration.ConnectionStringSettings connString;
            if (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count)
            {
                connString =
                    rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
                if (null != connString)
                    Console.WriteLine("Northwind connection string = \"{0}\"",
                        connString.ConnectionString);
                else
                    Console.WriteLine("No Northwind connection string");
            }

Kompilieren des Codes

Dieses Beispiel setzt Folgendes voraus:

  • Ein connectionStrings-Element in der Stammdatei Web.config, das eine Verbindung mit dem Namen NorthwindConnectionString enthält. Das Element könnte folgendermaßen aussehen:

    <connectionStrings>
      <add 
        name="NorthwindConnectionString" 
        connectionString="Data Source=serverName;Initial 
        Catalog=Northwind;Persist Security Info=True;User 
        ID=userName;Password=password"
        providerName="System.Data.SqlClient"
      />
    </connectionStrings>
    

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

    Sicherheitshinweis:

    Wenn vertrauliche Informationen, z. B. Benutzernamen und Kennwörter, in einer Konfigurationsdatei gespeichert werden, müssen Sie die vertraulichen Werte mithilfe der geschützten Konfiguration verschlüsseln. Weitere Informationen finden Sie unter Gewusst wie: Sichern von Verbindungszeichenfolgen bei der Verwendung von Datenquellensteuerelementen.

Robuste Programmierung

Wenn die angegebene Verbindungszeichenfolge nicht in der Datei Web.config vorhanden ist, wird kein Objekt zurückgegeben. Prüfen Sie beim Lesen von Verbindungszeichenfolgen, ob der Code ein Objekt zurückgegeben hat.

Sicherheit

Die Konfigurationsdatei sollte auf dem Server mithilfe von Windows-Sicherheitseinstellungen geschützt werden, um den Lesezugriff auf die Datei zu beschränken. Sie können das connectionString-Element verschlüsseln, um es zu schützen. Ausführliche Informationen finden Sie unter Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration.

Siehe auch

Referenz

connectionStrings-Element (ASP.NET-Einstellungsschema)

ConfigurationSettings