ConfigurationErrorsException Klasse

Definition

Die Ausnahme, die ausgelöst wird, wenn ein Konfigurationsfehler aufgetreten ist.

public ref class ConfigurationErrorsException : System::Configuration::ConfigurationException
[System.Serializable]
public class ConfigurationErrorsException : System.Configuration.ConfigurationException
[<System.Serializable>]
type ConfigurationErrorsException = class
    inherit ConfigurationException
Public Class ConfigurationErrorsException
Inherits ConfigurationException
Vererbung
Attribute

Beispiele

Im folgenden Codebeispiel wird ein benutzerdefinierter Abschnitt erstellt und beim Ändern der Eigenschaften eine ConfigurationErrorsException Ausnahme generiert.

using System;
using System.Configuration;
using System.Collections.Specialized;
using System.Collections;

namespace Samples.AspNet
{

    // Define a custom section.
    public sealed class CustomSection :
       ConfigurationSection
    {
        public CustomSection()
        {
        }

        [ConfigurationProperty("fileName", DefaultValue = "default.txt",
                    IsRequired = true, IsKey = false)]
        [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
            MinLength = 1, MaxLength = 60)]
        public string FileName
        {
            get
            {
                return (string)this["fileName"];
            }
            set
            {
                this["fileName"] = value;
            }
        }

        [ConfigurationProperty("maxUsers", DefaultValue = (long)10,
            IsRequired = false)]
        [LongValidator(MinValue = 1, MaxValue = 100,
            ExcludeRange = false)]
        public long MaxUsers
        {
            get
            {
                return (long)this["maxUsers"];
            }
            set
            {
                this["maxUsers"] = value;
            }
        }
    }

    // Create the custom section and write it to
    // the configuration file.
    class UsingConfigurationErrorsException
    {
        // Create a custom section.
        static UsingConfigurationErrorsException()
        {
            // Get the application configuration file.
            System.Configuration.Configuration config =
                    ConfigurationManager.OpenExeConfiguration(
                    ConfigurationUserLevel.None);

            // If the section does not exist in the configuration
            // file, create it and save it to the file.
            if (config.Sections["CustomSection"] == null)
            {
                CustomSection custSection = new CustomSection();
                config.Sections.Add("CustomSection", custSection);
                custSection =
                    config.GetSection("CustomSection") as CustomSection;
                custSection.SectionInformation.ForceSave = true;
                config.Save(ConfigurationSaveMode.Full);
            }
        }
        
        // Modify a custom section and cause configuration 
        // error exceptions.
        static void ModifyCustomSection()
        {

            try
            {
                // Get the application configuration file.
                System.Configuration.Configuration config =
                        ConfigurationManager.OpenExeConfiguration(
                        ConfigurationUserLevel.None);

                CustomSection custSection =
                   config.Sections["CustomSection"] as CustomSection;

                // Change the section properties.
                custSection.FileName = "newName.txt";
                
                // Cause an exception.
                custSection.MaxUsers = custSection.MaxUsers + 100;

                if (!custSection.ElementInformation.IsLocked)
                    config.Save();
                else
                    Console.WriteLine(
                        "Section was locked, could not update.");
            }
            catch (ConfigurationErrorsException err)
            {

                string msg = err.Message;
                Console.WriteLine("Message: {0}", msg);

                string fileName = err.Filename;
                Console.WriteLine("Filename: {0}", fileName);

                int lineNumber = err.Line;
                Console.WriteLine("Line: {0}", lineNumber.ToString());

                string bmsg = err.BareMessage;
                Console.WriteLine("BareMessage: {0}", bmsg);

                string source = err.Source;
                Console.WriteLine("Source: {0}", source);

                string st = err.StackTrace;
                Console.WriteLine("StackTrace: {0}", st);
            }
        }

        static void Main(string[] args)
        {
            ModifyCustomSection();
        }
    }
}
Imports System.Configuration
Imports System.Collections.Specialized
Imports System.Collections



' Define a custom section.

NotInheritable Public Class CustomSection
    Inherits ConfigurationSection
    
    Public Sub New() 
    
    End Sub
    
    
    <ConfigurationProperty("fileName", DefaultValue:="default.txt", IsRequired:=True, IsKey:=False), StringValidator(InvalidCharacters:=" ~!@#$%^&*()[]{}/;'""|\", MinLength:=1, MaxLength:=60)> _
    Public Property FileName() As String
        Get
            Return CStr(Me("fileName"))
        End Get
        Set(ByVal value As String)
            Me("fileName") = value
        End Set
    End Property
    
    
    <ConfigurationProperty("maxUsers", DefaultValue:=10, IsRequired:=False), LongValidator(MinValue:=1, MaxValue:=100, ExcludeRange:=False)> _
    Public Property MaxUsers() As Long
        Get
            Return Fix(Me("maxUsers"))
        End Get
        Set(ByVal value As Long)
            Me("maxUsers") = value
        End Set
    End Property
End Class


' Create the custom section and write it to
' the configuration file.

Class UsingConfigurationErrorsException
    
    ' Create a custom section.
    Shared Sub New()

        ' Get the application configuration file.
        Dim config _
        As System.Configuration.Configuration = _
        ConfigurationManager.OpenExeConfiguration( _
        ConfigurationUserLevel.None)

        ' If the section does not exist in the configuration
        ' file, create it and save it to the file.
        If config.Sections("CustomSection") Is Nothing Then
            Dim custSection As New CustomSection()
            config.Sections.Add("CustomSection", custSection)
            custSection = config.GetSection("CustomSection")
            custSection.SectionInformation.ForceSave = True
            config.Save(ConfigurationSaveMode.Full)
        End If

    End Sub
    
    
    ' Modify a custom section and cause configuration 
    ' error exceptions.
    Shared Sub ModifyCustomSection() 
        
        Try
            ' Get the application configuration file.
            Dim config _
            As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)

            Dim custSection _
            As CustomSection = _
            config.Sections("CustomSection")
             
            ' Change the section properties.
            custSection.FileName = "newName.txt"
            
            ' Cause an exception.
            custSection.MaxUsers = _
            custSection.MaxUsers + 100
            
            If Not custSection.ElementInformation.IsLocked Then
                config.Save()
            Else
                Console.WriteLine( _
                "Section was locked, could not update.")
            End If
        Catch err As ConfigurationErrorsException
            
            Dim msg As String = err.Message
            Console.WriteLine("Message: {0}", msg)
            Dim fileName As String = err.Filename
            Console.WriteLine("Filename: {0}", _
            fileName)
            Dim lineNumber As Integer = err.Line
            Console.WriteLine("Line: {0}", _
            lineNumber.ToString())
            Dim bmsg As String = err.BareMessage
            Console.WriteLine("BareMessage: {0}", bmsg)
            Dim src As String = err.Source
            Console.WriteLine("Source: {0}", src)
            Dim st As String = err.StackTrace
            Console.WriteLine("StackTrace: {0}", st)
        End Try

    End Sub

    Shared Sub Main(ByVal args() As String) 
        ModifyCustomSection()
    
    End Sub
End Class

Das folgende Beispiel ist ein vom vorherigen Beispiel verwendeter Konfigurationsauszug.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="CustomSection" type="Samples.AspNet.CustomSection,
      ConfigurationErrorsException, Version=1.0.0.0, Culture=neutral,
      PublicKeyToken=null" allowDefinition="Everywhere"
      allowExeDefinition="MachineToApplication"
      restartOnExternalChanges="true" />
  </configSections>
  <CustomSection fileName="default.txt" maxUsers="10" />
</configuration>

Hinweise

Die ConfigurationErrorsException Ausnahme wird ausgelöst, wenn ein Fehler auftritt, während Konfigurationsinformationen gelesen oder geschrieben werden.

Konstruktoren

Name Beschreibung
ConfigurationErrorsException()

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(String, Exception, String, Int32)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(String, Exception, XmlNode)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(String, Exception, XmlReader)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(String, Exception)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(String, String, Int32)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(String, XmlNode)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(String, XmlReader)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

ConfigurationErrorsException(String)

Initialisiert eine neue Instanz der ConfigurationErrorsException-Klasse.

Eigenschaften

Name Beschreibung
BareMessage

Ruft eine Beschreibung ab, warum diese Konfigurations ausnahme ausgelöst wurde.

Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen.

(Geerbt von Exception)
Errors

Ruft eine Auflistung von Fehlern ab, die die Gründe für das Auslösen dieser ConfigurationErrorsException Ausnahme darstellen.

Filename

Ruft den Pfad zur Konfigurationsdatei ab, die dazu führte, dass diese Konfigurations ausnahme ausgelöst wurde.

HelpLink

Dient zum Abrufen oder Festlegen eines Links zur Hilfedatei, die dieser Ausnahme zugeordnet ist.

(Geerbt von Exception)
HResult

Dient zum Abrufen oder Festlegen von HRESULT, einem codierten numerischen Wert, der einer bestimmten Ausnahme zugewiesen ist.

(Geerbt von Exception)
InnerException

Ruft die Exception Instanz ab, die die aktuelle Ausnahme verursacht hat.

(Geerbt von Exception)
Line

Ruft die Zeilennummer in der Konfigurationsdatei ab, bei der diese Konfigurations ausnahme ausgelöst wurde.

Message

Ruft eine erweiterte Beschreibung ab, warum diese Konfigurations ausnahme ausgelöst wurde.

Source

Dient zum Abrufen oder Festlegen des Namens der Anwendung oder des Objekts, das den Fehler verursacht.

(Geerbt von Exception)
StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames im Aufrufstapel ab.

(Geerbt von Exception)
TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.

(Geerbt von Exception)

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetBaseException()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird die Exception Ursache einer oder mehrerer nachfolgenden Ausnahmen zurückgegeben.

(Geerbt von Exception)
GetFilename(XmlNode)

Ruft den Pfad zur Konfigurationsdatei ab, aus der das interne XmlNode Objekt geladen wurde, als diese Konfigurations exception ausgelöst wurde.

GetFilename(XmlReader)

Ruft den Pfad zur Konfigurationsdatei ab, die beim Auslösen dieser Konfigurations ausnahme vom internen XmlReader gelesen wurde.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLineNumber(XmlNode)

Ruft die Zeilennummer in der Konfigurationsdatei ab, die das interne XmlNode Objekt darstellt, wenn diese Konfigurations exception ausgelöst wurde.

GetLineNumber(XmlReader)

Ruft die Zeilennummer in der Konfigurationsdatei ab, die das interne XmlReader Objekt verarbeitet hat, als diese Konfigurations exception ausgelöst wurde.

GetObjectData(SerializationInfo, StreamingContext)

Legt das SerializationInfo Objekt mit dem Dateinamen und der Zeilennummer fest, bei dem diese Konfigurations ausnahme aufgetreten ist.

GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.

(Geerbt von Exception)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Erstellt und gibt eine Zeichenfolgendarstellung der aktuellen Ausnahme zurück.

(Geerbt von Exception)

Ereignisse

Name Beschreibung
SerializeObjectState

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmestatusobjekt zu erstellen, das serialisierte Daten zu der Ausnahme enthält.

(Geerbt von Exception)

Gilt für: