Zugriff auf Konfigurationseinstellungen in .NET-Klassenbibliotheken
Diese Anleitung erklärt, wie Sie Konfigurationseinstellungen von app.config
oder web.config
innerhalb einer .NET-Klassenbibliothek abrufen. Vermeiden Sie die Verwendung der veralteten ConfigurationSettings.AppSettings.Get()
-Methode.
Der bevorzugte Ansatz (mit Einschränkungen):
Obwohl ConfigurationManager.AppSettings["MySetting"]
im Allgemeinen empfohlen wird, ist es nicht ohne zusätzliche Schritte direkt von einem Klassenbibliotheksprojekt aus zugänglich.
Die Lösung:
Um auf die Konfigurationseinstellungen in Ihrer Klassenbibliothek zuzugreifen, befolgen Sie diese Schritte:
Referenz hinzufügen: Fügen Sie in Ihrem Klassenbibliotheksprojekt eine Referenz auf System.Configuration
hinzu.
Erstellen Sie einen benutzerdefinierten Abschnittshandler: Erstellen Sie eine Klasse, die von ConfigurationSectionHandler
erbt und deren Create
-Methode überschreibt. Mit diesem benutzerdefinierten Handler können Sie auf Ihren Konfigurationsabschnitt zugreifen.
Registrieren Sie den benutzerdefinierten Abschnitt: Registrieren Sie Ihren benutzerdefinierten Abschnitt innerhalb des <configSections>
-Elements in Ihrer app.config
- oder web.config
-Datei.
Beispiel:
Angenommen, Sie möchten einen Abschnitt mit dem Namen „Meine Einstellungen“ lesen:
Benutzerdefinierter Abschnittshandler (z. B. MySettingsHandler.cs
):
using System.Configuration; public class MySettingsHandler : ConfigurationSectionHandler { public override object Create(object parent, object configContext, System.Xml.XmlNode section) { var settings = new MySettingsSection(); // Populate settings from the XML node (section) here, based on your config structure. Example below assumes a single string setting. settings.MySetting = section.Attributes["mysetting"]?.Value; return settings; } } // Define a class to hold your settings public class MySettingsSection { public string MySetting { get; set; } }
Konfigurationsdatei (app.config oder web.config):
<configuration> <configSections> <section name="mySettings" type="MySettingsHandler, YourAssemblyName" /> </configSections> <mySettings mysetting="YourSettingValue" /> </configuration>
Ersetzen Sie "YourAssemblyName"
durch den tatsächlichen Namen Ihrer Klassenbibliotheksbaugruppe.
Zugriff auf die Einstellungen in Ihrer Klassenbibliothek:
var settings = (MySettingsSection)ConfigurationManager.GetSection("mySettings"); string mySettingValue = settings.MySetting;
Dieser Ansatz ermöglicht Ihnen den sicheren und korrekten Zugriff auf Konfigurationseinstellungen aus Ihrer .NET-Klassenbibliothek. Denken Sie daran, den benutzerdefinierten Abschnittshandler und die Konfigurationsdatei an Ihre spezifische Konfigurationsstruktur anzupassen.
Das obige ist der detaillierte Inhalt vonWie lese ich Konfigurationseinstellungen aus app.config oder web.config in einer .NET-Klassenbibliothek?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!