ConfigurationSectionGroup Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um grupo de seções relacionadas dentro de um arquivo de configuração.
public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
- Herança
-
ConfigurationSectionGroup
- Derivado
Exemplos
O exemplo a seguir mostra como usar a ConfigurationSectionGroup classe para recuperar as configurações. O exemplo é um aplicativo de console que lê as configurações e grava informações sobre cada grupo de seções de configuração e as seções nele no console.
O Main
método carrega as configurações em um Configuration objeto, recupera a SectionGroups coleção do Configuration objeto e chama o ShowSectionGroupCollectionInfo
método para exibir os valores da propriedade da seção.
O ShowSectionGroupCollectionInfo
método itera por meio dos grupos de seções e chama o ShowSectionGroupInfo
método para cada um deles.
O ShowSectionGroupInfo
método exibe o nome do grupo de seções, alguns valores de propriedade e os nomes das seções que ele contém. Se o grupo de seções contiver grupos de seções, esse método chamará ShowSectionGroupCollectionInfo
recursivamente para exibir esses grupos de seções.
O indentLevel
campo é usado para adicionar espaços ao lado esquerdo de linhas exibidas para mostrar agrupamentos lógicos. Todas as linhas são limitadas a 79 caracteres de texto para evitar o encapsulamento de linhas, o que dificultaria a distinção dos agrupamentos lógicos.
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
Comentários
As configurações em arquivos de configuração (como o arquivo Web.config) são organizadas em seções. Como algumas seções estão relacionadas, geralmente é conveniente agrupá-las em um grupo de seções. A ConfigurationSectionGroup classe representa o sectionGroup
elemento XML usado para agrupar seções quando elas são definidas no configSections
elemento de um arquivo de configuração. Grupos de seções podem ser aninhados (um grupo de seções pode conter outros grupos de seções, bem como seções). O exemplo a seguir mostra um configSections
elemento que define três grupos de seções aninhadas:
<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>
O sistema de configuração carrega as configurações dos arquivos de configuração em ConfigurationSectionGroup objetos. Você pode usar as Sections propriedades e SectionGroups para acessar as seções e grupos de seções contidos em um ConfigurationSectionGroup objeto .
Para obter mais informações sobre como acessar informações de arquivos de configuração, consulte a ConfigurationManager classe .
Construtores
ConfigurationSectionGroup() |
Inicializa uma nova instância da classe ConfigurationSectionGroup. |
Propriedades
IsDeclarationRequired |
Obtém um valor que indica se a declaração desse objeto ConfigurationSectionGroup é necessária. |
IsDeclared |
Obtém um valor que indica se esse objeto ConfigurationSectionGroup é declarado. |
Name |
Obtém a propriedade de nome deste objeto ConfigurationSectionGroup. |
SectionGroupName |
Obtém o nome do grupo da seção associado a esta ConfigurationSectionGroup. |
SectionGroups |
Obtém um objeto ConfigurationSectionGroupCollection que contém todos os objetos ConfigurationSectionGroup que são filhos deste objeto ConfigurationSectionGroup. |
Sections |
Obtém um objeto ConfigurationSectionCollection que contém todos os objetos ConfigurationSection dentro desse objeto ConfigurationSectionGroup. |
Type |
Obtém ou define o tipo ConfigurationSectionGroup para esse objeto. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
ForceDeclaration() |
Força a declaração para este objeto ConfigurationSectionGroup. |
ForceDeclaration(Boolean) |
Força a declaração para este objeto ConfigurationSectionGroup. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Indica se a instância atual ConfigurationSectionGroup deve ser serializada quando a hierarquia de objetos de configuração é serializada para a versão de destino especificada do .NET Framework. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |