Configuration

Certaine variable de configuration ne doivent pas être stocké dans le code source.

Soit parce qu'elles sont sensible (mot de passe, clé d'API) soit parce qu'elles peuvent changer sans recompiler le code (adresse de la base de donnée, adresse d'un service externe).

Pour cela on va stocker ces variables dans un fichier de configuration.

Ajouter une variable de configuration

Pour ajouter une variable de configuration on va ajouter une section dans le fichier appsettings.json.

{
  "ConnectionStrings": {
    "Sqlite": "Data Source=Confiture.db"
  },
  "APIKey": "abcedf"
}

Lire une variable de configuration

Pour lire une variable de configuration on va utiliser la classe Configuration fournie par le framework.

Pour se faire, ajouter un constructeur à votre classe et injecter la classe Configuration qui implémente IConfiguration.

public class RecetteService
{
    private readonly string _connectionString;
    private readonly string _apiKey;

    public RecetteService(IConfiguration configuration)
    {
        _connectionString = configuration.GetConnectionString("Sqlite");
        _apiKey = configuration["APIKey"];
    }
}