ConfigurationSectionGroup Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет группу взаимосвязанных разделов в файле конфигурации.
public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
- Наследование
-
ConfigurationSectionGroup
- Производный
Примеры
В следующем примере показано, как использовать ConfigurationSectionGroup класс для получения параметров конфигурации. Примером является консольное приложение, которое считывает параметры конфигурации и записывает в консоль сведения о каждой группе разделов конфигурации и разделах в ней.
Метод Main
загружает параметры конфигурации в Configuration объект , извлекает коллекцию SectionGroups из Configuration объекта , а затем вызывает ShowSectionGroupCollectionInfo
метод для отображения значений свойств раздела.
Метод ShowSectionGroupCollectionInfo
выполняет итерацию по группам разделов ShowSectionGroupInfo
и вызывает метод для каждого из них.
Метод ShowSectionGroupInfo
отображает имя группы разделов, некоторые значения свойств и имена содержащихся в ней разделов. Если группа разделов содержит группы разделов, этот метод вызывает ShowSectionGroupCollectionInfo
рекурсивно для отображения этих групп разделов.
Поле indentLevel
используется для добавления пробелов в левую сторону отображаемых строк для отображения логических групп. Все строки ограничены 79 символами текста, чтобы избежать обтекания строк, что усложняет распознавание логических групп.
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
Комментарии
Параметры в файлах конфигурации (например, файл Web.config) упорядочены по разделам. Так как некоторые разделы связаны, их часто удобно сгруппировать в группу разделов. Класс ConfigurationSectionGroup представляет sectionGroup
XML-элемент, который используется для группировки разделов, когда они определены в элементе configSections
файла конфигурации. Группы разделов могут быть вложенными (группа разделов может содержать другие группы разделов, а также разделы). В следующем примере показан элемент, определяющий configSections
три вложенные группы разделов:
<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>
Система конфигурации загружает параметры из файлов конфигурации в ConfigurationSectionGroup объекты . Свойства и SectionGroups можно использовать Sections для доступа к разделам и группам разделов, содержащимся в объекте ConfigurationSectionGroup .
Дополнительные сведения о доступе к информации из файлов конфигурации см. в ConfigurationManager разделе класс .
Конструкторы
ConfigurationSectionGroup() |
Инициализирует новый экземпляр класса ConfigurationSectionGroup. |
Свойства
IsDeclarationRequired |
Возвращает значение, которое указывает требуется ли объявление для данного объекта ConfigurationSectionGroup. |
IsDeclared |
Возвращает значение, которое указывает является ли объект ConfigurationSectionGroup объявленным. |
Name |
Возвращает имя свойства данного объекта ConfigurationSectionGroup. |
SectionGroupName |
Возвращает имя группы разделов, связанных с ConfigurationSectionGroup. |
SectionGroups |
Возвращает объект ConfigurationSectionGroupCollection, который содержит все объекты ConfigurationSectionGroup, являющиеся производными от данного объекта ConfigurationSectionGroup. |
Sections |
Возвращает объект ConfigurationSectionCollection, который содержит все объекты ConfigurationSection, являющиеся производными от данного объекта ConfigurationSectionGroup. |
Type |
Возвращает или задает тип для данного объекта ConfigurationSectionGroup. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
ForceDeclaration() |
Вынуждает объявить данный объект ConfigurationSectionGroup. |
ForceDeclaration(Boolean) |
Вынуждает объявить данный объект ConfigurationSectionGroup. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Указывает, следует ли сериализовать текущий ConfigurationSectionGroup экземпляр при сериализации иерархии объектов конфигурации для указанной целевой версии платформа .NET Framework. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |