ConfigurationSectionGroup Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje skupinu souvisejících oddílů v rámci konfiguračního souboru.
public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
- Dědičnost
-
ConfigurationSectionGroup
- Odvozené
Příklady
Následující příklad ukazuje, jak pomocí ConfigurationSectionGroup třídy načíst nastavení konfigurace. Příkladem je konzolová aplikace, která čte nastavení konfigurace a zapisuje do konzoly informace o každé skupině oddílů konfigurace a oddílech v ní.
Metoda Main
načte nastavení konfigurace do objektu Configuration , načte kolekci SectionGroups z objektu Configuration a pak zavolá metodu ShowSectionGroupCollectionInfo
pro zobrazení hodnot vlastností oddílu.
Metoda ShowSectionGroupCollectionInfo
iteruje skupiny oddílů a volá metodu ShowSectionGroupInfo
pro každou z nich.
Metoda ShowSectionGroupInfo
zobrazí název skupiny oddílů, některé hodnoty vlastností a názvy oddílů, které obsahuje. Pokud skupina oddílů obsahuje skupiny oddílů, tato metoda volá ShowSectionGroupCollectionInfo
rekurzivně k zobrazení těchto skupin oddílů.
Pole indentLevel
se používá k přidání mezer na levou stranu zobrazených řádků, aby se zobrazila logická seskupení. Všechny řádky jsou omezeny na 79 znaků textu, aby se zabránilo obtékání řádků, což by ztěžovalo rozlišení logických seskupení.
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
Poznámky
Nastavení v konfiguračních souborech (například soubor Web.config) jsou uspořádaná do oddílů. Vzhledem k tomu, že některé oddíly souvisejí, je často vhodné je seskupit do skupiny oddílů. Třída ConfigurationSectionGroup představuje sectionGroup
element XML, který se používá k seskupení oddílů, pokud jsou definovány v configSections
elementu konfiguračního souboru. Skupiny oddílů mohou být vnořené (skupina oddílů může obsahovat jiné skupiny oddílů i oddíly). Následující příklad ukazuje configSections
element, který definuje tři vnořené skupiny oddílů:
<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>
Konfigurační systém načte nastavení z konfiguračních souborů do ConfigurationSectionGroup objektů. Vlastnosti a SectionGroups můžete použít Sections pro přístup k oddílům a skupinám oddílů, které jsou obsaženy v objektuConfigurationSectionGroup.
Další informace o tom, jak získat přístup k informacím z konfiguračních souborů, najdete ve ConfigurationManager třídě.
Konstruktory
ConfigurationSectionGroup() |
Inicializuje novou instanci ConfigurationSectionGroup třídy. |
Vlastnosti
IsDeclarationRequired |
Získá hodnotu, která označuje, zda je tato ConfigurationSectionGroup deklarace objektu požadována. |
IsDeclared |
Získá hodnotu, která označuje, zda je tento ConfigurationSectionGroup objekt deklarován. |
Name |
Získá vlastnost name tohoto ConfigurationSectionGroup objektu. |
SectionGroupName |
Získá název skupiny oddílů přidružené k tomuto ConfigurationSectionGroup. |
SectionGroups |
ConfigurationSectionGroupCollection Získá objekt, který obsahuje všechny ConfigurationSectionGroup objekty, které jsou podřízeny tohoto ConfigurationSectionGroup objektu. |
Sections |
ConfigurationSectionCollection Získá objekt, který obsahuje všechny ConfigurationSection objekty v rámci tohoto ConfigurationSectionGroup objektu. |
Type |
Získá nebo nastaví typ pro tento ConfigurationSectionGroup objekt. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
ForceDeclaration() |
Vynutí deklaraci pro tento ConfigurationSectionGroup objekt. |
ForceDeclaration(Boolean) |
Vynutí deklaraci pro tento ConfigurationSectionGroup objekt. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Určuje, zda aktuální ConfigurationSectionGroup instance by měla být serializována při hierarchii objektů konfigurace je serializována pro zadanou cílovou verzi rozhraní .NET Framework. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |