ConfigurationErrorsException Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Die Ausnahme, die ausgelöst wird, wenn ein Konfigurationsfehler aufgetreten ist.
public ref class ConfigurationErrorsException : System::Configuration::ConfigurationException
public class ConfigurationErrorsException : System.Configuration.ConfigurationException
[System.Serializable]
public class ConfigurationErrorsException : System.Configuration.ConfigurationException
type ConfigurationErrorsException = class
inherit 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 eine ConfigurationErrorsException Ausnahme generiert, wenn die Eigenschaften geändert werden.
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 Konfigurationsauszug, der im vorherigen Beispiel verwendet wurde.
<?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
Eigenschaften
BareMessage |
Ruft eine Beschreibung darüber ab, aus welchem Grund diese Konfigurationsausnahme ausgelöst wurde. |
BareMessage |
Ruft eine Beschreibung darüber ab, aus welchem Grund diese Konfigurationsausnahme ausgelöst wurde. (Geerbt von ConfigurationException) |
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 detailliert angeben, aus welchen Gründen diese ConfigurationErrorsException-Ausnahme ausgelöst wurde. |
Filename |
Ruft den Pfad zu der Konfigurationsdatei ab, die das Auslösen dieser Konfigurationsausnahme verursacht hat. |
HelpLink |
Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest. (Geerbt von Exception) |
HResult |
Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet 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 Konfigurationsausnahme ausgelöst wurde. |
Message |
Ruft eine erweiterte Beschreibung darüber ab, aus welchem Grund diese Konfigurationsausnahme ausgelöst wurde. |
Source |
Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest. (Geerbt von Exception) |
StackTrace |
Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab. (Geerbt von Exception) |
TargetSite |
Ruft die Methode ab, die die aktuelle Ausnahme auslöst. (Geerbt von Exception) |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetBaseException() |
Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die Grundursache für eine oder mehrere nachfolgende Ausnahmen ist. (Geerbt von Exception) |
GetFilename(XmlNode) |
Ruft den Pfad zu der Konfigurationsdatei ab, aus der das interne XmlNode-Objekt geladen wurde, als diese Konfigurationsausnahme ausgelöst wurde. |
GetFilename(XmlReader) |
Ruft den Pfad zu der Konfigurationsdatei ab, die das interne XmlReader-Objekt gelesen hat, als diese Konfigurationsausnahme ausgelöst wurde. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetLineNumber(XmlNode) |
Ruft die Zeilennummer in der Konfigurationsdatei ab, die das interne XmlNode-Objekt dargestellt hat, als diese Konfigurationsausnahme ausgelöst wurde. |
GetLineNumber(XmlReader) |
Ruft die Zeilennummer in der Konfigurationsdatei ab, die das interne XmlReader-Objekt verarbeitet hat, als diese Konfigurationsausnahme ausgelöst wurde. |
GetObjectData(SerializationInfo, StreamingContext) |
Veraltet.
Legt das SerializationInfo-Objekt mit dem Dateinamen und der Zeilennummer fest, bei der diese Konfigurationsausnahme auftrat. |
GetType() |
Ruft den Laufzeittyp der aktuellen Instanz ab. (Geerbt von Exception) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück. (Geerbt von Exception) |
Ereignisse
SerializeObjectState |
Veraltet.
Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen. (Geerbt von Exception) |