Maison >développement back-end >C++ >Comment accéder aux valeurs de configuration à partir de appsettings.json dans ASP.NET Core ?

Comment accéder aux valeurs de configuration à partir de appsettings.json dans ASP.NET Core ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-13 15:51:48287parcourir

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

Comment lire la valeur de configuration appsettings.json dans ASP.NET Core

Aperçu

Pour accéder aux données de configuration stockées dans le fichier appsettings.json dans ASP.NET Core, vous pouvez utiliser le générateur de configuration ou le mode options.

Utiliser le Générateur de configuration

Méthode 1 : utiliser ConfigurationBuilder.GetValue()

  • Injectez l’interface IConfiguration dans votre classe ou contrôleur.
  • Récupérez la valeur d'une clé spécifique à l'aide de la méthode GetValue, en spécifiant le type de la valeur.

Méthode 2 : utiliser ConfigurationBinder

  • Ajoutez une instance ConfigurationBinder en tant que paramètre à votre méthode.
  • Utilisez la méthode Bind pour lier des objets aux valeurs de configuration.

Utiliser le mode options

1. Définir la classe de configuration

  • Créez une classe C# qui reflète la structure de vos données de configuration.
  • Chaque propriété de ces classes doit correspondre à la clé de configuration correspondante.

2. Enregistrez l'instance de configuration

  • Dans la méthode ConfigureServices de la classe de démarrage, utilisez services.Configure pour enregistrer l'instance de configuration.

3. Injecter IOptions

  • Injectez IOptions dans votre classe ou votre contrôleur.
  • Utilisez la propriété Value pour accéder aux objets de configuration fortement typés.

Exemple

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>

Contrôleur.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>

Veuillez noter que ConnectionStringSettings et AppIdentitySettings dans l'extrait de code ci-dessus nécessitent que vous définissiez les classes C# correspondantes pour correspondre à la structure dans appsettings.json. Ces deux méthodes offrent des moyens flexibles d'accéder à la configuration de votre application. La méthode que vous choisissez dépend de vos préférences et de la complexité de votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn