.net 6 Get Configuration

4 min read Jun 03, 2024
.net 6 Get Configuration

Accéder à la Configuration dans .NET 6

L'accès à la configuration est une partie essentielle du développement d'applications .NET 6. Que vous utilisiez des fichiers JSON, des variables d'environnement, ou des configurations basées sur la ligne de commande, .NET 6 offre une API flexible et puissante pour gérer vos paramètres d'application.

Introduction

Dans .NET 6, la configuration est gérée par le biais de l'interface IConfiguration et des fournisseurs de configuration associés. Les fournisseurs de configuration permettent de charger des paramètres à partir de différentes sources, telles que les fichiers JSON, les variables d'environnement, les paramètres de ligne de commande, et bien plus encore.

Utilisation de IConfiguration

L'interface IConfiguration est le point d'entrée pour accéder à la configuration de votre application. Elle fournit des méthodes pour lire des valeurs de configuration, telles que GetValue<T>(string key), GetSection(string key), etc.

Voici un exemple de base pour lire une valeur de configuration :

using Microsoft.Extensions.Configuration;

// Charger la configuration
IConfiguration configuration = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    .Build();

// Lire une valeur de configuration
string myValue = configuration["MyKey"];

Fournisseurs de Configuration

.NET 6 inclut plusieurs fournisseurs de configuration intégrés pour les sources de données courantes. Voici quelques exemples :

  • AddJsonFile: Charge la configuration à partir d'un fichier JSON.
  • AddEnvironmentVariables: Charge la configuration à partir des variables d'environnement.
  • AddCommandLine: Charge la configuration à partir des arguments de ligne de commande.
  • AddAzureKeyVault: Charge la configuration à partir d'Azure Key Vault.

Exemple d'utilisation des fournisseurs de configuration

using Microsoft.Extensions.Configuration;

// Constructeur de configuration
IConfigurationBuilder builder = new ConfigurationBuilder();

// Charger la configuration depuis un fichier JSON
builder.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

// Charger la configuration depuis des variables d'environnement
builder.AddEnvironmentVariables();

// Construire l'objet de configuration
IConfiguration configuration = builder.Build();

// Lire des valeurs de configuration
string myValue1 = configuration["MyKey1"];
string myValue2 = configuration["MyKey2"];

Configuration structurée

.NET 6 permet de lire la configuration de manière structurée, en utilisant des classes C# pour représenter la configuration.

Exemple:

appsettings.json

{
  "MySection": {
    "MyKey1": "Valeur1",
    "MyKey2": "Valeur2"
  }
}

Classe C#:

public class MySection
{
  public string MyKey1 { get; set; }
  public string MyKey2 { get; set; }
}

Lecture de la configuration:

IConfiguration configuration = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    .Build();

// Lecture de la section MySection
MySection mySection = configuration.GetSection("MySection").Get();

// Accès aux valeurs de la section
string myKey1 = mySection.MyKey1;
string myKey2 = mySection.MyKey2;

Conclusion

La configuration est un élément essentiel de toute application .NET 6. La flexibilité et la puissance de l'API IConfiguration et des fournisseurs de configuration intégrés vous permettent de gérer efficacement vos paramètres d'application, quelle que soit la source des données.