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
Linda HamiltonOriginal
2025-01-19 19:06:09378Durchsuche

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):

<code class="language-csharp">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; }
}</code>

Konfigurationsdatei (app.config oder web.config):

<code class="language-xml"><configuration>
  <configSections>
    <section name="mySettings" type="MySettingsHandler, YourAssemblyName" />
  </configSections>
  <mySettings mysetting="YourSettingValue" />
</configuration></code>

Ersetzen Sie "YourAssemblyName" durch den tatsächlichen Namen Ihrer Klassenbibliotheksbaugruppe.

Zugriff auf die Einstellungen in Ihrer Klassenbibliothek:

<code class="language-csharp">var settings = (MySettingsSection)ConfigurationManager.GetSection("mySettings");
string mySettingValue = settings.MySetting;</code>

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!

Stellungnahme:
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