Heim > Backend-Entwicklung > C++ > Wie lese ich Konfigurationseinstellungen aus app.config oder web.config in einer .NET-Klassenbibliothek?

Wie lese ich Konfigurationseinstellungen aus app.config oder web.config in einer .NET-Klassenbibliothek?

Linda Hamilton
Freigeben: 2025-01-19 19:06:09
Original
376 Leute haben es durchsucht

How to Read Configuration Settings from app.config or web.config in a .NET Class Library?

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:

  1. Referenz hinzufügen: Fügen Sie in Ihrem Klassenbibliotheksprojekt eine Referenz auf System.Configuration hinzu.

  2. 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.

  3. 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; }
}
Nach dem Login kopieren

Konfigurationsdatei (app.config oder web.config):

<configuration>
  <configSections>
    <section name="mySettings" type="MySettingsHandler, YourAssemblyName" />
  </configSections>
  <mySettings mysetting="YourSettingValue" />
</configuration>
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage