Condividi tramite


Classi per la creazione di gestori delle sezioni personalizzati

Aggiornamento: novembre 2007

Se nessuna delle sezioni di configurazione esistenti soddisfa le esigenze specifiche, è possibile creare sezioni personalizzate e implementare i gestori per la lettura e la scrittura dei dati di configurazione. Il gestore deve essere una classe .NET Framework che estende la classe ConfigurationSection.

Nota:

Nelle versioni 1.0 e 1.1 di .NET Framework un gestore di sezione di configurazione deve implementare l'interfaccia IConfigurationSectionHandler, supportata anche nella versione 2.0, ma diventata obsoleta.

Per implementare i gestori di sezione personalizzati è possibile scegliere tra due modelli di implementazione, ovvero il modello programmatico o quello dichiarativo.

Modello di implementazione programmatico

Questo modello richiede la creazione, per ogni attributo di sezione, di una proprietà per ottenerne e/o impostarne il valore e aggiungerlo all'insieme interno di proprietà della classe ConfigurationElement base sottostante.

Modello di implementazione dichiarativo

Questo modello, denominato anche modello con attributi, consente di definire un attributo di sezione mediante l'utilizzo di una proprietà e l'impostazione degli attributi. Questi ultimi forniscono al sistema di configurazione di ASP.NET le informazioni sui tipi di proprietà e sui relativi valori predefiniti. Grazie a tali informazioni, ottenute mediante reflection, il sistema di configurazione di ASP.NET crea gli oggetti proprietà delle sezioni ed esegue le operazioni di inizializzazione necessarie. Per ulteriori informazioni sulla reflection, vedere Cenni preliminari su reflection.

Classi utilizzate per creare gestori di sezione personalizzati

Nella tabella riportata di seguito sono elencate le classi utilizzate per creare i gestori di sezione personalizzati a livello di codice.

Nell'argomento relativo ad ogni classe vengono riportati esempi dettagliati di codice in cui viene utilizzato uno solo dei modelli di implementazione o entrambi. È inoltre possibile visualizzare un esempio di codice dichiarativo semplificato in Procedura: creare sezioni di configurazione personalizzate tramite ConfigurationSection.

Classi utilizzate per implementare un gestore di sezioni

Descrizione

Classe ConfigurationSection

Rappresenta una sezione all'interno di un file di configurazione.

Utilizzare la classe ConfigurationSection per implementare un tipo di gestore di sezione personalizzato. Estendere la classe per consentire la gestione personalizzata e l'accesso a livello di codice alle sezioni di configurazione personalizzate.

Una sezione registra il relativo tipo di gestione con una voce nell'elemento configSections di un file di configurazione.

Classe ConfigurationSectionCollection

Rappresenta un insieme di sezioni correlate all'interno di un file di configurazione.

Utilizzare la classe ConfigurationSectionCollection nella creazione dei tipi personalizzati che estendono la classe ConfigurationSection. Utilizzarla inoltre per la lettura a livello di codice di un file di configurazione mediante un insieme di oggetti ConfigurationSection.

Classe ConfigurationElementCollection

Rappresenta un insieme di elementi all'interno di un file di configurazione.

Utilizzare la classe ConfigurationElementCollection con un insieme di oggetti ConfigurationElement. Implementare la classe in questione per aggiungere insiemi di elementi ConfigurationElement personalizzati a una classe ConfigurationSection.

Classe ConfigurationElement

Rappresenta un elemento all'interno di un file di configurazione.

Utilizzare la classe ConfigurationElement come base per le classi che rappresentano gli elementi di configurazione XML, ad esempio ConfigurationSection.

È possibile estendere la classe ConfigurationElement per rappresentare un elemento di configurazione in una classe ConfigurationSection. È inoltre possibile creare una classe ConfigurationElementCollection di elementi ConfigurationElement. Ogni oggetto ConfigurationElement crea un insieme ConfigurationPropertyCollection interno di oggetti ConfigurationProperty che rappresenta gli attributi di elemento o un insieme di elementi figlio.

Classe ConfigurationCollectionAttribute

Richiede in modo dichiarativo a .NET Framework di creare un'istanza di un'insieme di proprietà degli elementi di configurazione.

Utilizzare la classe ConfigurationCollectionAttribute per aggiungere attributi a una proprietà ConfigurationElementCollection. La classe richiede a .NET Framework di creare un'istanza della proprietà e di inizializzarla utilizzando i valori personalizzati di ConfigurationElement.

Classe ConfigurationPropertyCollection

La classe ConfigurationPropertyCollection rappresenta l'insieme degli oggetti ConfigurationProperty che possono essere attributi oppure oggetti ConfigurationElement di un elemento di configurazione.

Classe ConfigurationProperty

Rappresenta un attributo o un elemento figlio di un elemento di configurazione. Nel caso di un elemento ConfigurationElement semplice, gli oggetti ConfigurationProperty rappresentano attributi. Nel caso di elementi di configurazione più complessi, come sezioni contenenti sottosezioni, gli oggetti ConfigurationProperty possono rappresentare oggetti ConfigurationElement, nonché attributi.

La classe ConfigurationProperty rappresenta una singola impostazione di configurazione e consente di ottenere o impostare il nome, il tipo e il valore predefinito di una determinata entità di configurazione (attributo o elemento) e di specificare se l'attributo è obbligatorio, è una chiave di insieme o rappresenta un insieme predefinito di elementi.

Classe ConfigurationPropertyAttribute

Richiede in modo dichiarativo a .NET Framework di creare un'istanza della proprietà di un elemento di configurazione.

È possibile utilizzare la classe ConfigurationPropertyAttribute per decorare la proprietà di un elemento di configurazione. La classe richiede a .NET Framework di creare un'istanza della proprietà e di inizializzarla utilizzando il valore del parametro decorativo.

Vedere anche

Attività

Procedura: creare sezioni di configurazione personalizzate tramite ConfigurationSection

Procedura: creare sezioni di configurazione personalizzate tramite IConfigurationSectionHandler

Concetti

Struttura dei file di configurazione ASP.NET (Sezioni e gestori della sezione)