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 esso contenute nella console.
Il Main
metodo carica le impostazioni di configurazione in un Configuration oggetto , recupera l'insieme SectionGroups 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 in esso contenute. Se il gruppo di sezioni contiene gruppi di sezioni, questo metodo chiama ShowSectionGroupCollectionInfo
in modo ricorsivo per visualizzare i 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, il 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
ConfigurationSectionGroup() |
Inizializza una nuova istanza della classe ConfigurationSectionGroup. |
Proprietà
IsDeclarationRequired |
Ottiene un valore che indica se questa dichiarazione dell'oggetto ConfigurationSectionGroup è obbligatoria. |
IsDeclared |
Ottiene un valore che indica se questo oggetto ConfigurationSectionGroup è dichiarato. |
Name |
Ottiene la proprietà del nome di questo oggetto ConfigurationSectionGroup. |
SectionGroupName |
Ottiene il nome del gruppo di sezioni associato a questa classe ConfigurationSectionGroup. |
SectionGroups |
Ottiene un oggetto ConfigurationSectionGroupCollection contenente tutti gli oggetti ConfigurationSectionGroup figli di questo oggetto ConfigurationSectionGroup. |
Sections |
Ottiene un oggetto ConfigurationSectionCollection contenente tutti gli oggetti ConfigurationSection all'interno di questo oggetto ConfigurationSectionGroup. |
Type |
Ottiene o imposta il tipo di questo oggetto ConfigurationSectionGroup. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
ForceDeclaration() |
Impone la dichiarazione per questo oggetto ConfigurationSectionGroup. |
ForceDeclaration(Boolean) |
Impone la dichiarazione per questo oggetto ConfigurationSectionGroup. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Indica se l'istanza corrente 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) |