Heim >Backend-Entwicklung >C++ >Wie greife ich in ASP.NET Core auf Konfigurationswerte von appsettings.json zu?

Wie greife ich in ASP.NET Core auf Konfigurationswerte von appsettings.json zu?

Linda Hamilton
Linda HamiltonOriginal
2025-01-13 15:51:48290Durchsuche

How to Access Configuration Values from appsettings.json in ASP.NET Core?

So lesen Sie den appsettings.json-Konfigurationswert in ASP.NET Core

Übersicht

Um auf Konfigurationsdaten zuzugreifen, die in der Datei appsettings.json in ASP.NET Core gespeichert sind, können Sie den Konfigurations-Builder oder den Optionsmodus verwenden.

Configuration Builder verwenden

Methode 1: Verwenden Sie ConfigurationBuilder.GetValue()

  • Injizieren Sie die IConfiguration-Schnittstelle in Ihre Klasse oder Ihren Controller.
  • Rufen Sie den Wert eines bestimmten Schlüssels mit der GetValue-Methode ab und geben Sie dabei den Typ des Werts an.

Methode 2: ConfigurationBinder verwenden

  • Fügen Sie Ihrer Methode eine ConfigurationBinder-Instanz als Parameter hinzu.
  • Verwenden Sie die Bind-Methode, um Objekte an Konfigurationswerte zu binden.

Optionsmodus verwenden

1. Konfigurationsklasse definieren

  • Erstellen Sie eine C#-Klasse, die Ihre Konfigurationsdatenstruktur widerspiegelt.
  • Jede Eigenschaft in diesen Klassen sollte mit dem entsprechenden Konfigurationsschlüssel übereinstimmen.

2. Konfigurationsinstanz registrieren

  • Verwenden Sie in der Methode „ConfigureServices“ der Startup-Klasse „services.Configure“, um die Konfigurationsinstanz zu registrieren.

3. Inject IOptions

  • Injizieren Sie IOptions in Ihre Klasse oder Ihren Controller.
  • Verwenden Sie die Value-Eigenschaft, um auf stark typisierte Konfigurationsobjekte zuzugreifen.

Beispiel

appsettings.json:

<code class="language-json">{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=MyDatabase"
  },
  "AppIdentitySettings": {
    "User": {
      "RequireUniqueEmail": true
    },
    "Password": {
      "RequiredLength": 8
    }
  }
}</code>

Startup.cs:

<code class="language-csharp">public void ConfigureServices(IServiceCollection services)
{
    var connectionStringSection = Configuration.GetSection("ConnectionStrings");
    services.Configure<ConnectionStringSettings>(connectionStringSection);

    var appIdentitySettingsSection = Configuration.GetSection("AppIdentitySettings");
    services.Configure<AppIdentitySettings>(appIdentitySettingsSection);
}</code>

Controller.cs:

<code class="language-csharp">public class HomeController : Controller
{
    private readonly AppIdentitySettings _appIdentitySettings;

    public HomeController(IOptions<AppIdentitySettings> appIdentitySettings)
    {
        _appIdentitySettings = appIdentitySettings.Value;
    }

    public IActionResult Index()
    {
        var requiredLength = _appIdentitySettings.Password.RequiredLength;
        // ...
    }
}</code>

Bitte beachten Sie, dass Sie für ConnectionStringSettings und AppIdentitySettings im obigen Codeausschnitt die entsprechenden C#-Klassen definieren müssen, damit sie mit der Struktur in appsettings.json übereinstimmen. Diese beiden Methoden bieten flexible Möglichkeiten für den Zugriff auf Ihre Anwendungskonfiguration. Welche Methode Sie wählen, hängt von Ihren Vorlieben und der Komplexität Ihrer Anwendung ab.

Das obige ist der detaillierte Inhalt vonWie greife ich in ASP.NET Core auf Konfigurationswerte von appsettings.json zu?. 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