Freigeben über


SectionDefinition Klasse

Definition

Definiert einen Konfigurationsabschnitt.

public ref class SectionDefinition sealed
public sealed class SectionDefinition
type SectionDefinition = class
Public NotInheritable Class SectionDefinition
Vererbung
SectionDefinition

Beispiele

Das folgende Beispiel zeigt, wie Sie einen Konfigurationsabschnitt definieren und Einstellungen für diesen Abschnitt definieren.


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

    }
}

Hinweise

Durch das Deklarieren eines Konfigurationsabschnitts wird ein neues Element für die Konfigurationsdatei definiert. Das neue Element enthält Einstellungen, die ein Konfigurationsabschnittshandler liest. Die Attribute und untergeordneten Elemente eines Abschnitts, den Sie definieren, hängen vom Abschnittshandler ab, den Sie zum Lesen Ihrer Einstellungen verwenden.

Das folgende <configuration> Element enthält ein Beispiel für das <section> Element, das die SectionDefinition -Klasse darstellt.

<configuration>

<configSections>

<section name="sampleSection"

type="System.Configuration.SingleTagSectionHandler"

allowLocation="false"/>

</configSections>

<sampleSection setting1="Value1" setting2="value two"

setting3="third value" />

</configuration>

Eigenschaften

AllowDefinition

Ruft einen Wert ab, der gültige Konfigurationspfadspeicherorte für den Konfigurationsabschnitt angibt, oder legt diese fest.

AllowLocation

Ruft einen Wert ab, der angibt, ob der Konfigurationsabschnitt das Location-Attribut zulässt, oder legt den Wert fest.

Name

Ruft den Namen der aktuellen Konfigurationsabschnittsdefinition ab.

OverrideModeDefault

Ruft das Standard-Überschreibungsverhalten für den aktuellen Konfigurationsabschnitt ab oder legt es fest.

RequirePermission

Definiert einen Konfigurationsabschnitt.

Type

Ruft den Typnamen einer Klasse ab, die den Konfigurationsabschnitt implementiert und den persistenten XML-Code interpretieren kann, oder legt diesen fest.

Gilt für: