ConfigurationSectionGroup Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un grupo de las secciones relacionadas de un archivo de configuración.
public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
- Herencia
-
ConfigurationSectionGroup
- Derivado
Ejemplos
En el ejemplo siguiente se muestra cómo usar la clase para recuperar los ConfigurationSectionGroup valores de configuración. El ejemplo es una aplicación de consola que lee los valores de configuración y escribe información sobre cada grupo de secciones de configuración y las secciones de ella en la consola.
El Main
método carga los valores de configuración en un Configuration objeto , recupera la SectionGroups colección del Configuration objeto y, a continuación, llama al ShowSectionGroupCollectionInfo
método para mostrar los valores de propiedad de sección.
El ShowSectionGroupCollectionInfo
método recorre en iteración los grupos de secciones y llama al ShowSectionGroupInfo
método para cada uno.
El ShowSectionGroupInfo
método muestra el nombre del grupo de secciones, algunos valores de propiedad y los nombres de las secciones que contiene. Si el grupo de secciones contiene grupos de secciones, este método llama ShowSectionGroupCollectionInfo
a de forma recursiva para mostrar esos grupos de secciones.
El indentLevel
campo se usa para agregar espacios al lado izquierdo de las líneas mostradas para mostrar agrupaciones lógicas. Todas las líneas están limitadas a 79 caracteres de texto para evitar el ajuste de líneas, lo que dificultaría la distinción de las agrupaciones lógicas.
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
Comentarios
Los valores de los archivos de configuración (como el archivo Web.config) se organizan en secciones. Dado que algunas secciones están relacionadas, a menudo resulta conveniente agruparlas en un grupo de secciones. La ConfigurationSectionGroup clase representa el sectionGroup
elemento XML que se usa para agrupar secciones cuando se definen en el configSections
elemento de un archivo de configuración. Los grupos de secciones se pueden anidar (un grupo de secciones puede contener otros grupos de secciones, así como secciones). En el ejemplo siguiente se muestra un configSections
elemento que define tres grupos de secciones anidados:
<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>
El sistema de configuración carga los valores de los archivos de configuración en ConfigurationSectionGroup objetos . Puede usar las Sections propiedades y SectionGroups para tener acceso a las secciones y los grupos de secciones contenidos en un ConfigurationSectionGroup objeto .
Para obtener más información sobre cómo acceder a la información de los archivos de configuración, vea la ConfigurationManager clase .
Constructores
ConfigurationSectionGroup() |
Inicializa una nueva instancia de la clase ConfigurationSectionGroup. |
Propiedades
IsDeclarationRequired |
Obtiene un valor que indica si es necesario declarar este objeto ConfigurationSectionGroup. |
IsDeclared |
Obtiene un valor que indica si se declara este objeto ConfigurationSectionGroup. |
Name |
Obtiene el nombre de propiedad de este objeto ConfigurationSectionGroup. |
SectionGroupName |
Obtiene el nombre de grupo de sección asociado a este objeto ConfigurationSectionGroup. |
SectionGroups |
Obtiene un objeto ConfigurationSectionGroupCollection que contiene todos los objetos ConfigurationSectionGroup que son secundarios respecto de este objeto ConfigurationSectionGroup. |
Sections |
Obtiene un objeto ConfigurationSectionCollection que contiene todos los objetos ConfigurationSection de este objeto ConfigurationSectionGroup. |
Type |
Obtiene o establece el tipo de este objeto ConfigurationSectionGroup. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
ForceDeclaration() |
Fuerza la declaración de este objeto ConfigurationSectionGroup. |
ForceDeclaration(Boolean) |
Fuerza la declaración de este objeto ConfigurationSectionGroup. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Indica si la instancia actual ConfigurationSectionGroup se debe serializar cuando la jerarquía de objetos de configuración se serializa para la versión de destino especificada de .NET Framework. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |