Procedura: leggere le impostazioni dell'applicazione dal file Web.config
Aggiornamento: novembre 2007
In questo esempio viene eseguita la lettura da un file Web.config di un'impostazione di applicazione identificata dalla chiave customsetting1. L'elemento appSettings è un insieme NameValueCollection di stringhe. L'utilizzo di elementi di insieme può essere leggermente più complesso rispetto a quello di altri elementi di configurazione.
Per ottenere le impostazioni di configurazione relative alla configurazione Web di livello principale, viene passato null al metodo OpenWebConfiguration.
Per aggiornare un'impostazione di configurazione, utilizzare il metodo Save o SaveAs dell'oggetto di configurazione. Per ulteriori informazioni, vedere Utilizzo delle classi di configurazione. Per ulteriori esempi di codice, vedere la classe AppSettingsSection e le classi correlate.
Nell'esempio viene utilizzato il metodo non statico per ottenere i dati di configurazione che consente di estrarre questo tipo di dati da qualsiasi applicazione. Se si desidera ottenere informazioni sulla configurazione dall'applicazione in cui si trova il codice, è preferibile utilizzare il metodo statico che presenta 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
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");
}
Compilazione del codice
L'esempio presenta i requisiti seguenti:
Elemento appSettings nel file Web.config principale simile a quello riportato di seguito.
<appSettings> <add key="customsetting1" value="Some text here"/> </appSettings>
appSettings è un elemento figlio diretto dell'elemento <configuration> e un elemento paritetico dell'elemento system.web.
Programmazione efficiente
I valori letti dall'elemento appSettings del file Web.config sono sempre di tipo String. Se la chiave specificata non esiste nel file Web.config non verrà generato alcun errore, ma verrà restituita una stringa vuota.
Sicurezza
Per limitarne l'accesso in lettura, è consigliabile proteggere il file di configurazione sul server mediante le impostazioni di protezione di Windows. Evitare di memorizzare nell'elemento appSettings del file Web.config informazioni riservate come le credenziali utente. Prendere inoltre in considerazione la crittografia delle impostazioni di configurazione. Per ulteriori informazioni, vedere Crittografia delle informazioni di configurazione utilizzando la configurazione protetta.