Freigeben über


Gewusst wie: Programmgesteuerter Zugriff auf die ASP.NET-Konfigurationseinstellungen

Aktualisiert: November 2007

Sie können innerhalb einer ASP.NET-Anwendung oder einer .NET-Clientanwendung auf die Laufzeit-Konfigurationseinstellungen zugreifen. Jeder Konfigurationsabschnitt verfügt über einen eigenen Objekttyp, weshalb im Fall von C# beim Aufrufen der Methoden der WebConfigurationManager-Klasse eine Umwandlung erforderlich ist. Weitere Informationen über den Objekttyp, der einem Konfigurationsabschnitt zugeordnet ist, finden Sie in den Referenzthemen unter ASP.NET-Konfigurationseinstellungen in der Tabelle Elementinformationen in den Ausführungen zum Abschnittshandler.

In dem Codebeispiel in diesem Thema wird zum Abrufen der Konfigurationsdaten die nicht statische Methode verwendet. Dies ermöglicht es Ihnen, Konfigurationsinformationen aus einer beliebigen Anwendung abzurufen. Verwenden Sie zum Abrufen von Konfigurationsdaten aus der Anwendung, in der sich Ihr Code befindet, die statischen GetSection-Methoden, da diese schneller verarbeitet werden. Weitere Informationen finden Sie im Abschnitt Arbeiten mit lokalen und Remotekonfigurationseinstellungen in der Übersicht über die ASP.NET-Konfigurations-API.

Beispiel

Im folgenden Codebeispiel wird der Wert des impersonate-Attributs des identity-Elements gelesen, das für die MyAppRoot-Anwendung konfiguriert wurde. Der Wert wird auf der Webseite angezeigt. Im Code wird der IdentitySection-Objekttyp verwendet, um die Daten im identity-Abschnitt zu lesen.

Verwenden Sie zum Ändern einer Konfigurationseinstellung die Save-Methode oder die SaveAs-Methode des Konfigurationsobjekts. Weitere Informationen finden Sie unter Verwenden der Konfigurationsklassen.

<%@ Page Language="VB" %>

<%@ Import Namespace="System.Web.Configuration" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Import Namespace="System.Text" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script >

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

        ' Set the root path of the Web application that contains the
        ' Web.config file that you want to access.
        Dim configPath As String = "/MyAppRoot"

        ' Get the configuration object to access the related Web.config file.
        Dim config As Configuration = WebConfigurationManager.OpenWebConfiguration(configPath)

        ' Get the object related to the <identity> section.
        Dim section As New IdentitySection
        section = config.GetSection("system.web/identity")

        ' Read the <identity> section.
        Dim identity As New StringBuilder
        identity.Append("Impersonate: ")
        identity.Append(section.Impersonate.ToString())

        ' Display the <identity> information.
        ConfigId.Text = identity.ToString()

    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Read Configuration Settings</title>
</head>
<body>
    <h2>
        Read ASP.NET Configuration</h2>
    <p>
        This page displays the value of the <b>Impersonate</b> attribute of the <b>identity</b>
        section of an ASP.NET configuration.
    </p>
    <h3>
        Results</h3>
    <p>
        <asp:Label ID="ConfigId" BackColor="#dcdcdc" BorderWidth="1" runat="Server" /></p>
</body>
</html>
<%@ Page Language="C#" %>

<%@ Import Namespace="System.Web.Configuration" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Import Namespace="System.Text" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="C#" >
    public void Page_Load()
    {
        try
        {
            // Set the root path of the Web application that contains the
            // Web.config file that you want to access.
            string configPath = "/MyAppRoot";

            // Get the configuration object to access the related Web.config file.
            Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath);

            // Get the object related to the <identity> section.
            IdentitySection section =
              (IdentitySection)config.GetSection("system.web/identity");

            // Read the <identity> section.
            StringBuilder identity = new StringBuilder();
            identity.Append("Impersonate: ");
            identity.Append(section.Impersonate.ToString());

            // Display the <identity> information.
            ConfigId.Text = identity.ToString();
        }
        catch (Exception e)
        {
            ConfigId.Text = e.ToString();
        }
    }
  </script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Read Configuration Settings</title>
</head>
<body>
    <h2>
        Read ASP.NET Configuration</h2>
    <p>
        This page displays the value of the <b>Impersonate</b> attribute of the <b>identity</b>
        section of an ASP.NET configuration.
    </p>
    <h3>
        Results</h3>
    <p>
        <asp:Label ID="ConfigId" BackColor="#dcdcdc" BorderWidth="1" runat="Server" /></p>
</body>
</html>

Siehe auch

Konzepte

Verwenden der Konfigurationsklassen

Übersicht über die ASP.NET-Konfiguration

Referenz

OpenWebConfiguration

Weitere Ressourcen

Konfigurieren von .NET Framework-Anwendungen

Gewusst-wie-Themen – Konfigurieren von ASP.NET-Anwendungen