SectionGroup SectionGroup SectionGroup SectionGroup Class

Definition

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
Inheritance
SectionGroupSectionGroupSectionGroupSectionGroup

Examples

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

    }
}

Remarks

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.

Properties

Name Name Name Name

Gets the name of the configuration section group.

SectionGroups SectionGroups SectionGroups SectionGroups

Gets a collection of nested configuration section groups.

Sections Sections Sections Sections

Gets a collection of nested configuration section definitions.

Type Type Type Type

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

Applies to