ConfigurationSectionGroup Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un gruppo di sezioni correlate all'interno di un file di configurazione.
public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
- Ereditarietà
-
ConfigurationSectionGroup
- Derivato
Esempio
Nell'esempio seguente viene illustrato come usare la ConfigurationSectionGroup classe per recuperare le impostazioni di configurazione. L'esempio è un'applicazione console che legge le impostazioni di configurazione e scrive informazioni su ogni gruppo di sezioni di configurazione e le sezioni in essa contenute nella console.
Il Main metodo carica le impostazioni di configurazione in un Configuration oggetto , recupera la SectionGroups raccolta dall'oggetto Configuration e quindi chiama il ShowSectionGroupCollectionInfo metodo per visualizzare i valori delle proprietà della sezione.
Il ShowSectionGroupCollectionInfo metodo scorre i gruppi di sezioni e chiama il ShowSectionGroupInfo metodo per ognuno di essi.
Il ShowSectionGroupInfo metodo visualizza il nome del gruppo di sezioni, alcuni valori delle proprietà e i nomi delle sezioni che contiene. Se il gruppo di sezioni contiene gruppi di sezioni, questo metodo chiama ShowSectionGroupCollectionInfo in modo ricorsivo per visualizzare tali gruppi di sezioni.
Il indentLevel campo viene utilizzato per aggiungere spazi al lato sinistro delle righe visualizzate per visualizzare i raggruppamenti logici. Tutte le righe sono limitate a 79 caratteri di testo per evitare il ritorno a capo automatico, che renderebbe più difficile distinguere i raggruppamenti logici.
using System;
using System.Collections;
using System.Configuration;
namespace Samples.AspNet
{
class UsingConfigurationSectionGroup
{
static int indentLevel = 0;
static void Main(string[] args)
{
// Get the application configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Get the collection of the section groups.
ConfigurationSectionGroupCollection sectionGroups =
config.SectionGroups;
// Display the section groups.
ShowSectionGroupCollectionInfo(sectionGroups);
}
static void ShowSectionGroupCollectionInfo(
ConfigurationSectionGroupCollection sectionGroups)
{
foreach (ConfigurationSectionGroup sectionGroup in sectionGroups)
{
ShowSectionGroupInfo(sectionGroup);
}
}
static void ShowSectionGroupInfo(
ConfigurationSectionGroup sectionGroup)
{
// Get the section group name.
indent("Section Group Name: " + sectionGroup.Name);
// Get the fully qualified group name.
indent("Section Group Name: " + sectionGroup.SectionGroupName);
indentLevel++;
indent("Type: " + sectionGroup.Type);
indent("Is Group Required?: " +
sectionGroup.IsDeclarationRequired);
indent("Is Group Declared?: " + sectionGroup.IsDeclared);
indent("Contained Sections:");
indentLevel++;
foreach (ConfigurationSection section
in sectionGroup.Sections)
{
indent("Section Name:" + section.SectionInformation.Name);
}
indentLevel--;
// Display contained section groups if there are any.
if (sectionGroup.SectionGroups.Count > 0)
{
indent("Contained Section Groups:");
indentLevel++;
ConfigurationSectionGroupCollection sectionGroups =
sectionGroup.SectionGroups;
ShowSectionGroupCollectionInfo(sectionGroups);
}
Console.WriteLine("");
indentLevel--;
}
static void indent(string text)
{
for (int i = 0; i < indentLevel; i++)
{
Console.Write(" ");
}
Console.WriteLine(text.Substring(0, Math.Min(79 - indentLevel * 2, text.Length)));
}
}
}
Imports System.Collections
Imports System.Configuration
Class UsingConfigurationSectionGroup
Private Shared indentLevel As Integer = 0
Public Shared Sub Main(ByVal args() As String)
' Get the application configuration file.
Dim config As System.Configuration.Configuration = _
ConfigurationManager.OpenExeConfiguration( _
ConfigurationUserLevel.None)
' Get the collection of the section groups.
Dim sectionGroups As ConfigurationSectionGroupCollection = _
config.SectionGroups
' Display the section groups.
ShowSectionGroupCollectionInfo(sectionGroups)
End Sub
Shared Sub ShowSectionGroupCollectionInfo( _
ByVal sectionGroups _
As ConfigurationSectionGroupCollection)
Dim group As ConfigurationSectionGroup
For Each group In sectionGroups
ShowSectionGroupInfo(group)
Next group
End Sub
Shared Sub ShowSectionGroupInfo( _
ByVal sectionGroup As ConfigurationSectionGroup)
' Get the section group name.
indent("Section Group Name: " + sectionGroup.Name)
' Get the fully qualified section group name.
indent("Section Group Name: " + sectionGroup.SectionGroupName)
indentLevel += 1
indent("Type: " + sectionGroup.Type)
indent("Is Group Required?: " + _
sectionGroup.IsDeclarationRequired.ToString())
indent("Is Group Declared?: " + _
sectionGroup.IsDeclared.ToString())
indent("Contained Sections:")
indentLevel += 1
Dim section As ConfigurationSection
For Each section In sectionGroup.Sections
indent("Section Name:" + section.SectionInformation.Name)
Next section
indentLevel -= 1
If (sectionGroup.SectionGroups.Count > 0) Then
indent("Contained Section Groups:")
indentLevel += 1
Dim sectionGroups As ConfigurationSectionGroupCollection = _
sectionGroup.SectionGroups
ShowSectionGroupCollectionInfo(sectionGroups)
indentLevel -= 1
End If
indent("")
indentLevel -= 1
End Sub
Shared Sub indent(ByVal text As String)
Dim i As Integer
For i = 0 To indentLevel - 1
Console.Write(" ")
Next i
Console.WriteLine(Left(text, 79 - indentLevel * 2))
End Sub
End Class
Commenti
Le impostazioni nei file di configurazione ,ad esempio il file Web.config, sono organizzate in sezioni. Poiché alcune sezioni sono correlate, è spesso utile raggrupparle in un gruppo di sezioni. La ConfigurationSectionGroup classe rappresenta l'elemento sectionGroup XML utilizzato per raggruppare le sezioni quando vengono definite nell'elemento configSections di un file di configurazione. I gruppi di sezioni possono essere annidati (un gruppo di sezioni può contenere altri gruppi di sezioni e sezioni). L'esempio seguente mostra un configSections elemento che definisce tre gruppi di sezioni annidati:
<configSections>
<sectionGroup name="system.web.extensions"...>
<sectionGroup name="scripting" ...>
<section name="scriptResourceHandler".../>
<sectionGroup name="webServices"...>
<section name="jsonSerialization" .../>
<section name="profileService" ... /> <section name="authenticationService" .../>
<section name="roleService" .../>
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
Il sistema di configurazione carica le impostazioni dai file di configurazione agli ConfigurationSectionGroup oggetti. È possibile utilizzare le Sections proprietà e SectionGroups per accedere alle sezioni e ai gruppi di sezioni contenuti in un ConfigurationSectionGroup oggetto .
Per altre informazioni su come accedere alle informazioni dai file di configurazione, vedere la ConfigurationManager classe .
Costruttori
| Nome | Descrizione |
|---|---|
| ConfigurationSectionGroup() |
Inizializza una nuova istanza della classe ConfigurationSectionGroup. |
Proprietà
| Nome | Descrizione |
|---|---|
| IsDeclarationRequired |
Ottiene un valore che indica se questa ConfigurationSectionGroup dichiarazione di oggetto è obbligatoria. |
| IsDeclared |
Ottiene un valore che indica se l'oggetto ConfigurationSectionGroup è dichiarato. |
| Name |
Ottiene la proprietà name di questo ConfigurationSectionGroup oggetto. |
| SectionGroupName |
Ottiene il nome del gruppo di sezioni associato all'oggetto ConfigurationSectionGroup. |
| SectionGroups |
Ottiene un ConfigurationSectionGroupCollection oggetto che contiene tutti gli ConfigurationSectionGroup oggetti figlio di questo ConfigurationSectionGroup oggetto. |
| Sections |
Ottiene un ConfigurationSectionCollection oggetto che contiene tutti gli oggetti all'interno di ConfigurationSection questo ConfigurationSectionGroup oggetto. |
| Type |
Ottiene o imposta il tipo per questo ConfigurationSectionGroup oggetto. |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| ForceDeclaration() |
Forza la dichiarazione per questo ConfigurationSectionGroup oggetto. |
| ForceDeclaration(Boolean) |
Forza la dichiarazione per questo ConfigurationSectionGroup oggetto. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Indica se l'istanza corrente di ConfigurationSectionGroup deve essere serializzata quando la gerarchia degli oggetti di configurazione viene serializzata per la versione di destinazione specificata di .NET Framework. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |