SectionGroup Class


Provides access to a group of related configuration section groups or configuration section definitions.

public ref class SectionGroup sealed
public sealed class SectionGroup
type SectionGroup = class
Public NotInheritable Class SectionGroup


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 = 
            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);



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.



Gets the name of the configuration section group.


Gets a collection of nested configuration section groups.


Gets a collection of nested configuration section definitions.


Gets or sets the .NET Framework type of the configuration section group.

Applies to