HOW TO: Archiviare e recuperare informazioni personalizzate dal file di configurazione di un'applicazione

Traduzione articoli Traduzione articoli
Identificativo articolo: 313405 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato precedentemente pubblicato con il codice di riferimento I313405
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

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:
  1. Avviare Visual Studio .NET.
  2. Creare un nuovo progetto Applicazione console di Visual Basic .NET denominato ConConfig. In base all'impostazione predefinita verrà creato un modulo denominato Module1.
  3. Assicurarsi che sia visibile la finestra Esplora soluzioni. In caso contrario, premere CTRL+ALT+L.
  4. In Esplora soluzioni scegliere Mostra tutti i file.
  5. Fare clic con il pulsante destro del mouse su Bin, quindi scegliere Includi nel progetto.
  6. Fare clic con il pulsante destro del mouse sulla cartella Bin, scegliere Aggiungi, quindi Aggiungi nuovo elemento.
  7. 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.
  8. È 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.
  9. È 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>
  10. 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
  11. Nella procedura Sub Main dimensionare una variabile stringa in modo che contenga il valore di una chiave della sezione <appSettings> del file di configurazione:
    Dim sAttr As String
  12. 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")
  13. Per visualizzare il valore recuperato dell'applicazione nella finestra della console, utilizzare Console.WriteLine:
    Console.WriteLine("The value of Key0: " & sAttr)
  14. È 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()
  15. 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
  16. 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

  • Il file di configurazione viene salvato in formato XML. Assicurarsi di rispettare tutte le regole di sintassi del linguaggio XML. Si ricorda che il linguaggio XML fa distinzione tra maiuscole e minuscole. Se la sintassi non è corretta o un elemento è scritto in modo errato, si verifica un'eccezione System.Configuration.Configuration.

    Se ad esempio si aggiunge l'attributo di chiave di un elemento <add> con una "K" maiuscola anziché una "k" minuscola oppure se la sezione <appSettings> appare come <AppSettings>(con una "A" maiuscola anziché minuscola), viene visualizzato un messaggio di errore.
  • Il file di configurazione deve risiedere nella stessa cartella dell'applicazione associata.
  • È necessario utilizzare la seguente sintassi per il nome del file di configurazione:
    NomeApplicazione.TipoApplicazione.config
    dove NomeApplicazione è il nome dell'applicazione, TipoApplicazione è il tipo di applicazione (ad esempio, exe) e config è il suffisso.

RIFERIMENTI

Per ulteriori informazioni, visitare i seguenti siti Web MSDN (informazioni in lingua inglese):
Accessing Configuration Settings
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconaccessingconfigurationsettings.asp

ConfigurationSettings.AppSettings Property
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemConfigurationConfigurationSettingsClassAppSettingsTopic.asp

System.Configuration Namespace
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemConfiguration.asp

Proprietà

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
Chiavi: 
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.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com