Procedura: accedere alle impostazioni di configurazione ASP.NET a livello di codice
Aggiornamento: novembre 2007
È possibile accedere alle impostazioni di configurazione di runtime dall'interno di un'applicazione ASP.NET o di un'applicazione client .NET. Ogni sezione di configurazione dispone del proprio tipo di oggetto, che nel caso di C# richiede un cast durante la chiamata dei metodi della classe WebConfigurationManager. Per ulteriori informazioni sul tipo di oggetto associato a una sezione di configurazione, vedere il gestore della sezione nella tabella relativa alle informazioni sugli elementi negli argomenti di riferimento inclusi in Impostazioni di configurazione di ASP.NET.
Nell'esempio di codice riportato in questo argomento viene utilizzato il metodo non statico per ottenere dati sulla configurazione. In questo modo è possibile ottenere le informazioni sulla configurazione da qualsiasi applicazione. Se si desidera ottenere informazioni sulla configurazione dall'applicazione in cui si trova il codice, è preferibile utilizzare i metodi statici GetSection che presentano tempi di elaborazione ridotti. Per ulteriori informazioni, vedere la sezione Utilizzo di impostazioni di configurazione locali e remote in Cenni preliminari sulle API di configurazione di ASP.NET.
Esempio
Nell'esempio di codice riportato di seguito viene letto il valore dell'attributo impersonate dell'elemento identity configurato per l'applicazione MyAppRoot. Il valore viene visualizzato nella pagina Web. Il codice utilizza il tipo di oggetto IdentitySection per leggere i dati nella sezione identity.
Per modificare un'impostazione di configurazione, utilizzare il metodo Save o SaveAs dell'oggetto di configurazione. Per ulteriori informazioni, vedere Utilizzo delle classi di configurazione.
<%@ 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>
Vedere anche
Concetti
Utilizzo delle classi di configurazione
Cenni preliminari sulla configurazione di ASP.NET
Riferimenti
Altre risorse
Configurazione di applicazioni
Argomenti relativi alle procedure: configurazione di applicazioni ASP.NET