Dichiarazione e lettura delle sezioni di configurazione personalizzate

È possibile creare sezioni personalizzate che vengono lette dall'applicazione in fase di esecuzione. È necessario raggruppare le informazioni relative alle sezioni di configurazione in due aree principali all'interno del file di configurazione: l'area di dichiarazione della sezione di configurazione e l'area delle impostazioni della sezione di configurazione. Inserire quindi le dichiarazioni della sezione di configurazione nell'elemento <configSections>. Creare infine una nuova sezione di configurazione dichiarandola in un elemento <section> all'interno dell'elemento <configSections>. L'elemento <section> è dotato delle due proprietà seguenti:

  • L'attributo name, che rappresenta il nome dell'elemento contenente le informazioni lette dal gestore della sezione.
  • L'attributo type, che rappresenta il nome della classe che legge le informazioni.

La sintassi dell'impostazione di configurazione varia in funzione del gestore di sezione associato alla sezione di configurazione. Per ulteriori informazioni, vedere Schema delle sezioni di configurazione.

Nell'esempio che segue viene illustrato come dichiarare una sezione personalizzata che utilizza la classe SingleTagSectionHandler.

<configuration>
    <configSections>
        <section name="sampleSection"
                 type="System.Configuration.SingleTagSectionHandler" />
    </configSections>

    <sampleSection setting1="Value1" setting2="value two" 
                   setting3="third value" />
</configuration>

Accesso alle sezioni di configurazione personalizzate

È possibile utilizzare il metodo statico System.Configuration.ConfigurationSettings.GetConfig per accedere alle impostazioni di configurazione da un'applicazione. La classe che implementa System.Configuration.IConfigurationSectionHandler elabora le impostazioni restituite dal metodo GetConfig. Poiché il valore restituito dal metodo IConfigurationSectionHandler.Create è di tipo Object, è necessario eseguire il cast dell'oggetto sul tipo creato dal gestore della sezione.

Per leggere le impostazioni contenute in sampleSection, è necessario eseguire il cast dell'oggetto restituito da ConfigurationSettings.GetConfig su un oggetto IDictionary.

Nel codice riportato di seguito viene illustrato come recuperare le impostazioni da un file di configurazione.

Imports System
Imports System.Collections
Imports System.Configuration

Public Class MyConfigurationReader
    
    Public Sub ReadMySettings() 
        Dim sampleTable As IDictionary 
        Dim value1 As String
        Dim value2 As String
        Dim value3 As String

        sampleTable = CType(ConfigurationSettings.GetConfig("sampleSection"), IDictionary)
        value1 = CType(sampleTable("setting1"), String)
        value2 = CType(sampleTable("setting2"), String)
        value3 = CType(sampleTable("setting3"), String)
    End Sub
End Class
[C#]
using System;
using System.Collections;
using System.Configuration;

class MyConfigurationReader {
 
    public void ReadMySettings() {
        IDictionary sampleTable = (IDictionary) 
            ConfigurationSettings.GetConfig("sampleSection");
        string value1 = (string)sampleTable["setting1"];
        string value2 = (string)sampleTable["setting2"];
        string value3 = (string)sampleTable["setting3"];
    }
}

Vedere anche

Impostazioni della sezione di configurazione | Schema delle sezioni di configurazione