ConfigurationSectionGroup Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Gruppe verwandter Abschnitte innerhalb einer Konfigurationsdatei dar.
public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
- Vererbung
-
ConfigurationSectionGroup
- Abgeleitet
Beispiele
Das folgende Beispiel zeigt, wie Die -Klasse zum Abrufen von ConfigurationSectionGroup Konfigurationseinstellungen verwendet wird. Das Beispiel ist eine Konsolenanwendung, die Konfigurationseinstellungen liest und Informationen zu jeder Konfigurationsabschnittsgruppe und den darin betreffenden Abschnitten in die Konsole schreibt.
Die Main
-Methode lädt die Konfigurationseinstellungen in ein Configuration -Objekt, ruft die SectionGroups Auflistung aus dem Configuration -Objekt ab und ruft dann die ShowSectionGroupCollectionInfo
-Methode auf, um die Abschnittseigenschaftswerte anzuzeigen.
Die ShowSectionGroupCollectionInfo
-Methode durchläuft die Abschnittsgruppen und ruft die ShowSectionGroupInfo
-Methode für jede auf.
Die ShowSectionGroupInfo
-Methode zeigt den Namen der Abschnittsgruppe, einige Eigenschaftswerte und die Namen der darin enthaltenen Abschnitte an. Wenn die Abschnittsgruppe Abschnittsgruppen enthält, ruft ShowSectionGroupCollectionInfo
diese Methode rekursiv auf, um diese Abschnittsgruppen anzuzeigen.
Das indentLevel
Feld wird verwendet, um auf der linken Seite der angezeigten Zeilen Leerzeichen hinzuzufügen, um logische Gruppierungen anzuzeigen. Alle Zeilen sind auf 79 Zeichen beschränkt, um Zeilenumbrüche zu vermeiden, was die Unterscheidung der logischen Gruppierungen erschweren würde.
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
Hinweise
Einstellungen in Konfigurationsdateien (z. B. die Web.config-Datei) sind in Abschnitte unterteilt. Da einige Abschnitte miteinander verknüpft sind, ist es häufig praktisch, sie in einer Abschnittsgruppe zu gruppieren. Die ConfigurationSectionGroup -Klasse stellt das sectionGroup
XML-Element dar, das zum Gruppieren von Abschnitten verwendet wird, wenn sie im configSections
Element einer Konfigurationsdatei definiert sind. Abschnittsgruppen können geschachtelt werden (eine Abschnittsgruppe kann andere Abschnittsgruppen sowie Abschnitte enthalten). Das folgende Beispiel zeigt ein configSections
Element, das drei geschachtelte Abschnittsgruppen definiert:
<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>
Das Konfigurationssystem lädt Einstellungen aus Konfigurationsdateien in ConfigurationSectionGroup Objekte. Sie können die Sections Eigenschaften und SectionGroups verwenden, um auf die Abschnitte und Abschnittsgruppen zuzugreifen, die in einem ConfigurationSectionGroup -Objekt enthalten sind.
Weitere Informationen zum Zugreifen auf Informationen aus Konfigurationsdateien finden Sie in der ConfigurationManager -Klasse.
Konstruktoren
ConfigurationSectionGroup() |
Initialisiert eine neue Instanz der ConfigurationSectionGroup-Klasse. |
Eigenschaften
IsDeclarationRequired |
Ruft einen Wert ab, der angibt, ob die Deklaration dieses ConfigurationSectionGroup-Objekts erforderlich ist. |
IsDeclared |
Ruft einen Wert ab, der angibt, ob dieses ConfigurationSectionGroup-Objekt deklariert wird. |
Name |
Ruft die Namenseigenschaft dieses ConfigurationSectionGroup-Objekts ab. |
SectionGroupName |
Ruft den dieser ConfigurationSectionGroup zugeordneten Abschnittsgruppennamen ab. |
SectionGroups |
Ruft ein ConfigurationSectionGroupCollection-Objekt ab, das alle ConfigurationSectionGroup-Objekte enthält, die untergeordnete Elemente dieses ConfigurationSectionGroup-Objekts sind. |
Sections |
Ruft ein ConfigurationSectionCollection-Objekt ab, das alle ConfigurationSection-Objekte innerhalb dieses ConfigurationSectionGroup-Objekts enthält. |
Type |
Ruft den Typ für dieses ConfigurationSectionGroup-Objekt ab oder legt diesen fest. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
ForceDeclaration() |
Erzwingt die Deklaration für dieses ConfigurationSectionGroup-Objekt. |
ForceDeclaration(Boolean) |
Erzwingt die Deklaration für dieses ConfigurationSectionGroup-Objekt. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Gibt an, ob die aktuelle ConfigurationSectionGroup instance serialisiert werden soll, wenn die Konfigurationsobjekthierarchie für die angegebene Zielversion des .NET Framework serialisiert wird. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |