Comment accéder à appsettings.json dans le fichier Program.cs d'Asp.net ?

Le framework ASP.net a été développé par Microsoft pour créer des pages web dynamiques. Il s'agit d'une alternative aux langages PHP ou Java. Il fonctionne en utilisant la plateforme .NET. Il existe maintenant 2 versions différentes de la plateforme .NET. La première version fonctionnait principalement sur Windows et avait une version différente pour les autres systèmes d'exploitation, qui se nommait Mono. Elle ne fonctionne pas sur les systèmes d'exploitation pour smartphones iOS et Android. Une nouvelle version de la plateforme, .NET Core, a été développée et est cette fois multiplateforme. Le langage ASP.net est utilisable sur les deux plateformes, mais pas de la même façon, et cela change notamment pour utiliser le fichier "appsettings.json".

Il existe plusieurs solutions pour utiliser les réglages que vous avez stockés dans votre fichier "appsettings.json". La première possibilité consiste à utiliser la classe "WebApplicationBuilder". Cette classe est une des classes de base des frameworks .NET et .NET Core. Elle contient dans ses propriétés un objet "configuration". Il permet d'accéder aux paramètres stockés dans le fichier "appsettings.json".

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddStackExchangeRedisCache(options =>
{
    // L'objet configuration permet de récupérer vos paramètres de configuration
    options.Configuration = builder.Configuration["Redis"];
});

Une autre possibilité pour récupérer vos paramètres de configuration consiste à utiliser une classe dans laquelle l'objet "builder" va transférer ces paramètres. Vous devez pour cela avoir vos paramètres écrits dans le fichier "appsettings.json".

"settings": {
    "url": "mon-url",
    "identifiant": "mon-identifiant",
    "motDePasse": "mon-mot-de-passe"
}

Vous devez créer la classe qui va contenir ces paramètres. La nomenclature entre la classe et le fichier "appsettings.json" doit être identique.

public class Settings
{
    public string Url { get; set; }
    public string Identifiant { get; set; }
    public string MotDePasse { get; set; }
}

Pour récupérer les paramètres, il suffit d'utiliser une ligne qui va "charger" les paramètres stockés dans le fichier "appsettings.json" vers l'objet de votre classe. Cette technique est prise en charge intégralement par le framework .NET Core.

var settings = builder.Configuration.GetSection("Settings").Get<Settings>();
var url = settings.Url;

Divers