SectionDefinition Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Defines a configuration section.
public ref class SectionDefinition sealed
public sealed class SectionDefinition
type SectionDefinition = class
Public NotInheritable Class SectionDefinition
- Inheritance
-
SectionDefinition
Examples
The following example shows how to define a configuration section and to define settings for that section.
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
Declaring a configuration section defines a new element for the configuration file. The new element contains settings that a configuration section handler reads. The attributes and child elements of a section you define depend on the section handler you use to read your settings.
The following <configuration>
element contains an example of the <section>
element that the SectionDefinition class represents.
<configuration>
<configSections>
<section name="sampleSection"
type="System.Configuration.SingleTagSectionHandler"
allowLocation="false"/>
</configSections>
<sampleSection setting1="Value1" setting2="value two"
setting3="third value" />
</configuration>
Properties
AllowDefinition |
Gets or sets a value indicating valid configuration path locations for the configuration section. |
AllowLocation |
Gets or sets a value indicating whether the configuration section allows the location attribute. |
Name |
Gets the name of the current configuration section definition. |
OverrideModeDefault |
Gets or sets the default override behavior for the current configuration section. |
RequirePermission | |
Type |
Gets or sets the type name of a class that implements the configuration section and can interpret the persisted XML. |