Como: Acessar definições de configuração do ASP.NET por programação

Você pode acessar definições de configuração em tempo de execução de dentro de um aplicativo ASP.NET ou um aplicativo cliente .NET.Cada seção de configuração tem seu próprio tipo de objeto, que no caso de C# requer uma conversão ao chamar os métodos da classe WebConfigurationManager.Para obter mais informações sobre o tipo de objeto que está associado com uma seção de configuração, consulte o manipulador de seção na tabela de informações de elemento sobre os tópicos de referência em Definições de configuração ASP.NET.

O exemplo de código contidas neste tópico usa o método não estático de obter dados de configuração.Isso permite que você obtenha a informação de configuração de qualquer aplicativo.Se você irá obter informações de configuração do aplicativo no qual seu código reside, utilize métodos estáticos GetSection, que processam muito mais rápido.Para obter mais informações, consulte a seção Trabalhando com Definições de Configuração Local e Remota em Visão Geral da API de Configuração do ASP.NET.

Exemplo

O exemplo de código a seguir lê o valor do atributo impersonate do elemento identity configurado para o aplicativo MyAppRoot.O valor é exibido sobre na página da Web.O código usa o tipo de objeto IdentitySection para ler os dados na seção identity.

Para alterar um parâmetro de configuração, use o método Save ou SaveAs do objeto de configuração.Para obter mais informações, consulte Usando as Classes de Configuração.

<%@ 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>

Consulte também

Conceitos

Usando as Classes de Configuração

Visão Geral da Configuração ASP.NET

Referência

OpenWebConfiguration

Outros recursos

Configurando aplicativos

Tópicos de instrução — Configurando aplicativos ASP.NET