SectionGroup Class
IIS 7.0
Provides access to a group of related configuration section groups or configuration section definitions.
Namespace:
Microsoft.Web.Administration
Assembly: Microsoft.Web.Administration (in Microsoft.Web.Administration.dll)
The SectionGroup type exposes the following members.
| Name | Description | |
|---|---|---|
|
Name | Gets the name of the configuration section group. |
|
SectionGroups | Gets a collection of nested configuration section groups. |
|
Sections | Gets a collection of nested configuration section definitions. |
|
Type | Gets or sets the .NET Framework type of the configuration section group. |
Because some configuration sections are related, it is often convenient to group them in a single section group. The SectionGroup class represents the <sectionGroup> XML element in a configuration file.
Use the Sections property to access the sections in this SectionGroup object.
A SectionGroup can also contain other SectionGroup objects, which you can access through the SectionGroups property.
The following example demonstrates the SectionGroup class.
using System; using System.Collections.Generic; using System.Text; using Microsoft.Web.Administration; using Microsoft.Web.Management; namespace AdministrationSnippets { public class AdministrationSectionDefinition { // List all configuration sections in applicationHost.config public void ShowAllSections() { ServerManager manager = new ServerManager(); SectionGroup rootGroup = manager.GetApplicationHostConfiguration().RootSectionGroup; ShowGroup(rootGroup, -1); } private void ShowGroup(SectionGroup group, int indentLevel) { Console.Write("".PadLeft(++indentLevel, ' ')); string grpName = String.IsNullOrEmpty(group.Name) ? "{root}" : group.Name; Console.WriteLine("+ Section Group: {0}; Sub-groups: {1}; Sections: {2}", grpName, group.SectionGroups.Count, group.Sections.Count); foreach (SectionGroup grp in group.SectionGroups) { ShowGroup(grp, indentLevel); } string path = String.Concat(group.Name, "/"); foreach (SectionDefinition def in group.Sections) { Console.Write("".PadLeft(indentLevel, ' ')); Console.WriteLine("|_Name: {0}", String.Concat(path,def.Name)); Console.Write("".PadLeft(indentLevel, ' ')); Console.WriteLine("|_AllowDefinition: {0}", def.AllowDefinition); Console.Write("".PadLeft(indentLevel, ' ')); Console.WriteLine("|_AllowLocation: {0}", def.AllowLocation); Console.Write("".PadLeft(indentLevel, ' ')); Console.WriteLine("|_OverrideModeDefault: {0}", def.OverrideModeDefault); Console.Write("".PadLeft(indentLevel, ' ')); Console.WriteLine("|_Type: {0}\r\n", String.IsNullOrEmpty(def.Type) ? "null" : def.Type); } } } }