In questo articolo viene illustrato come archiviare informazioni personalizzate in un file di configurazione (config) che è possibile recuperare in un momento successivo in fase di esecuzione tramite l'applicazione ad esso associata. Questo metodo è utile quando è necessario definire dati associati a un'applicazione.
Requisiti
Nell'elenco che segue vengono indicati l'hardware, il software, l'infrastruttura di rete e i Service Pack necessari:
-
Microsoft Windows 2000 o Microsoft Windows XP
-
Microsoft Visual Studio .NET
In questo articolo si presume la conoscenza dei seguenti argomenti:
-
Extensible Markup Language (XML)
-
File di configurazione .NET
Creare l'applicazione console che legge il contenuto del file di configurazione
È possibile archiviare le impostazioni di un'applicazione in un file di configurazione associato all'applicazione. I file di configurazione vengono salvati in formato XML. Gli spazi dei nomi
System.Configuration e
System.Collections.Specialized di Microsoft .NET Framework includono le classi necessarie per recuperare informazioni da un file di configurazione di un'applicazione .NET in fase di esecuzione.
Per creare un'applicazione console in grado di leggere il contenuto di un file di configurazione associato in fase di esecuzione, attenersi alla seguente procedura:
-
Avviare Visual Studio .NET.
-
Creare un nuovo progetto Applicazione console di Visual Basic .NET denominato ConConfig. In base all'impostazione predefinita verrà creato un modulo denominato Module1.
-
Assicurarsi che sia visibile la finestra Esplora soluzioni. In caso contrario, premere CTRL+ALT+L.
-
In Esplora soluzioni scegliere Mostra tutti i file.
-
Fare clic con il pulsante destro del mouse su Bin, quindi scegliere
Includi nel progetto.
-
Fare clic con il pulsante destro del mouse sulla cartella Bin, scegliere Aggiungi, quindi Aggiungi nuovo elemento.
-
Nella finestra di dialogo Aggiungi nuovo elemento selezionare il modello File di configurazione dell'applicazione, scegliere Apri, quindi aggiungere il file App.config al progetto.
NOTA: i file di configurazione delle applicazioni devono risiedere nella stessa cartella del file eseguibile a cui sono associati. Poiché Visual Studio .NET salva i file eseguibili nella cartella Bin, è necessario che i file di configurazione risiedano nella cartella Bin.
-
È necessario denominare il file di configurazione dell'applicazione rispettando il seguente formato:
NomeApplicazione.TipoApplicazione.config
In Esplora soluzioni fare clic con il pulsante destro su App.config, quindi scegliere Rinomina. Rinominare il file App.config
ConConfig.exe.config. L'applicazione associata è ora in grado di individuare il relativo file config.
-
È possibile utilizzare un file di configurazione dell'applicazione per raccogliere impostazioni personalizzate di un'applicazione salvate in formato chiave/valore. È possibile includere elementi <add> nella sezione <appSettings> di un file di configurazione associato. Ciascuna combinazione chiave/valore dispone di un elemento <add>. Il formato degli elementi <add> è il seguente:
<add key="theKey" value="theValue" />
Aggiungere una sezione <appSettings> che include elementi <add> al file di configurazione tra i tag <configuration> e </configuration>. Il file di configurazione seguente include ad esempio una sezione <appSettings> che specifica tre combinazioni di chiave/valore:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Key0" value="0" />
<add key="Key1" value="1" />
<add key="Key2" value="2" />
</appSettings>
</configuration>
-
In Esplora soluzioni fare doppio clic su Module1.vb per visualizzare la finestra del codice di Module1. Aggiungere le seguenti istruzioni al modulo di codice:
NOTA: queste istruzioni devono precedere qualsiasi altra istruzione inclusa nel file.
Imports System.Configuration
Imports System.Collections.Specialized
-
Nella procedura Sub Main dimensionare una variabile stringa in modo che contenga il valore di una chiave della sezione <appSettings> del file di configurazione:
-
Per recuperare il valore di una chiave specifica dalla sezione <appSettings> del file di configurazione, utilizzare il metodo AppSettings della classe ConfigurationSettings. La classe ConfigurationSettings si trova nello spazio dei nomi System.Configuration. Quando il metodo AppSettings riceve come parametro di input una stringa contenente una chiave, l'applicazione recupera il valore associato alla chiave.
Il codice riportato di seguito consente di recuperare il valore dell'attributo Key0 dal file di configurazione associato. Tale valore viene quindi inserito nella variabile stringa sAttr. Se non esiste alcuna chiave per tale valore, in sAttr viene inserito Nothing.
sAttr = ConfigurationSettings. AppSettings("Key0") -
Per visualizzare il valore recuperato dell'applicazione nella finestra della console, utilizzare Console.WriteLine:
Console.WriteLine("The value of Key0: " & sAttr) -
È possibile utilizzare un riferimento alla proprietà AppSettings per recuperare tutte le combinazioni chiave/valore della sezione <appSettings>. Se non si specificano parametri quando si utilizza la proprietà AppSettings, l'applicazione restituisce tutte le combinazioni chiave/valore associate. Tali combinazioni sono archiviate in un tipo NameValueCollection, che contiene voci chiave/valore per ogni chiave recuperata dall'applicazione. La classe NameValueCollection si trova nello spazio dei nomi System.Collections.Specialized.
Dim sAll As NameValueCollection
sAll = ConfigurationSettings.AppSettings()
-
La proprietà AllKeys di NameValueCollection fa riferimento a una matrice di stringhe che include una voce per ciascuna chiave recuperata dall'applicazione. Utilizzare una costruzione For Next per scorrere la matrice AllKeys e accedere a ogni chiave recuperata dall'applicazione. Ogni chiave in AllKeys è un tipo di dati stringa.
Dim s As String
For Each s In sAll.AllKeys
-
All'interno della costruzione For Each utilizzare Console.WriteLine per visualizzare la chiave e il valore ad essa associato nella finestra della console. La chiave corrente elaborata dall'applicazione è in "s". Utilizzarla come un indice in sAll
NameValueCollection per ottenere il valore ad essa associato.
Se l'applicazione elabora ad esempio la chiave Key0, sAll("Key0") recupera il valore ad essa associato. L'istruzione Console.Readline sospende la console. È possibile premere INVIO per terminare l'applicazione.
Console.WriteLine("Key: " & s & " Value: " & sAll(s))
Next
Console.Readline
Verificare il funzionamento
Premere F5 per eseguire il codice. Nella finestra della console dovrebbero venire visualizzate le combinazioni chiave/valore della sezione
<appSettings> del file di configurazione associato:
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
Elenco completo del codice
Imports System.Configuration
Imports System.Collections.Specialized
Module Module1
Sub Main()
Dim sAttr As String
sAttr = ConfigurationSettings.AppSettings("Key0")
Console.WriteLine("The value of Key0: " & sAttr)
Dim sAll As NameValueCollection
sAll = ConfigurationSettings.AppSettings()
Dim s As String
For Each s In sAll.AllKeys
Console.WriteLine("Key: " & s & " Value: " & sAll(s))
Next
Console.ReadLine()
End Sub
End Module
Elenco completo del codice di configurazione (ConConfig.exe.config)
<configuration>
<appSettings>
<add key="Key0" value="0"/>
<add key="Key1" value="1"/>
<add key="Key2" value="2"/>
</appSettings>
</configuration>
Risoluzione dei problemi
RIFERIMENTI
Per ulteriori informazioni, visitare i seguenti siti Web MSDN (informazioni in lingua inglese):
Identificativo articolo: 313405 - Ultima modifica: domenica 14 aprile 2002 - Revisione: 1.0
Le informazioni in questo articolo si applicano a
- Microsoft Visual Basic .NET 2002 Standard Edition
| kbhowto kbhowtomaster KB313405 |
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.