Maison >développement back-end >C++ >Comment récupérer les valeurs de appsettings.json dans ASP.NET Core ?

Comment récupérer les valeurs de appsettings.json dans ASP.NET Core ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-13 16:06:47671parcourir

How Do I Retrieve Values from appsettings.json in ASP.NET Core?

Accès aux valeurs de configuration à partir de appsettings.json dans ASP.NET Core

Ce guide aborde la récupération des valeurs de appsettings.json dans votre application ASP.NET Core. Nous explorerons les méthodes courantes et les étapes de dépannage.

Mise en place de la classe Startup

Votre Startup classe a besoin des configurations suivantes :

  1. Injecter IConfiguration : Le constructeur doit injecter IConfiguration (et non IConfigurationRoot, qui est obsolète) : public Startup(IConfiguration configuration)

  2. Configurer les services : Dans ConfigureServices, utilisez Configuration.GetSection("AppSettings") pour configurer votre objet AppSettings :

    <code class="language-csharp"> services.Configure<AppSettings>(configuration.GetSection("AppSettings"));</code>

Définition du modèle AppSettings

Créez une classe de modèle qui reflète la structure de votre section « AppSettings » dans appsettings.json :

<code class="language-csharp">public class AppSettings
{
    public string Version { get; set; }
}</code>

Configuration du contrôleur

Injectez IOptions<AppSettings> dans le constructeur de votre contrôleur :

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

    public HomeController(IOptions<AppSettings> appSettings)
    {
        _appSettings = appSettings.Value;
    }
}</code>

Dépannage d'une valeur _appSettings nulle

Si _appSettings est systématiquement nul, vérifiez ces points :

  1. Vérifiez IConfiguration Injection : Assurez-vous que IConfiguration est correctement injecté dans le constructeur Startup.
  2. Vérifier la configuration du service : Vérifiez à nouveau la méthode ConfigureServices pour confirmer la liaison exacte de la section « AppSettings ».
  3. Confirmer l'injection dans le contrôleur : Assurez-vous que IOptions<AppSettings> est correctement injecté dans le constructeur du contrôleur.

Approches alternatives

Au-delà du modèle IOptions, envisagez ces alternatives :

  • Accès IConfiguration direct : Injectez IConfiguration directement et accédez aux valeurs à l'aide de Configuration.GetValue<T>("key").
  • Utilisation de ConfigurationBinder : Définissez un modèle fortement typé et liez-y l'instance IConfiguration. Cela offre une sécurité de type et une maintenabilité améliorée.

Conclusion

En suivant ces étapes, vous devriez réussir à récupérer les valeurs de appsettings.json. Les problèmes persistants justifient un débogage minutieux et un examen approfondi de votre configuration.

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