.net 6 Configuration Appsettings Console App

4 min read Jun 03, 2024
.net 6 Configuration Appsettings Console App

Configuration d'applications console avec .NET 6 et AppSettings

L'utilisation de fichiers de configuration est essentielle pour les applications .NET 6, y compris les applications console, car ils permettent de paramétrer et de personnaliser le comportement de l'application sans avoir à modifier le code source.

Dans ce guide, nous allons explorer comment utiliser les fichiers AppSettings pour configurer les applications console .NET 6.

Structure de la configuration

Les fichiers AppSettings sont généralement placés dans le répertoire racine de votre projet et ont l'extension .json. L'exemple ci-dessous montre une structure de fichier appsettings.json typique:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "MyApplicationSettings": {
    "ConnectionString": "Server=localhost;Database=MyDatabase;User Id=myuser;Password=mypassword",
    "ApiUrl": "https://api.example.com"
  }
}

Ce fichier contient deux sections principales :

  • Logging: Configure les paramètres de journalisation de l'application.
  • MyApplicationSettings: Définit des paramètres spécifiques à l'application.

Accéder aux valeurs de configuration

Pour accéder aux valeurs de configuration définies dans le fichier appsettings.json, vous pouvez utiliser l'objet IConfiguration fourni par le framework .NET 6.

using Microsoft.Extensions.Configuration;

namespace MyConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Charger la configuration depuis le fichier appsettings.json
            var configuration = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                .Build();

            // Accéder aux valeurs de configuration
            string connectionString = configuration.GetConnectionString("ConnectionString");
            string apiUrl = configuration["MyApplicationSettings:ApiUrl"];

            // Utiliser les valeurs de configuration dans l'application
            Console.WriteLine($"Connection string: {connectionString}");
            Console.WriteLine($"API URL: {apiUrl}");
        }
    }
}

Utiliser les injections de dépendances

Le framework .NET 6 propose un système d'injection de dépendances puissant qui permet de simplifier l'utilisation des valeurs de configuration.

using Microsoft.Extensions.Configuration;

namespace MyConsoleApp
{
    class Program
    {
        private readonly IConfiguration _configuration;

        public Program(IConfiguration configuration)
        {
            _configuration = configuration;
        }

        static void Main(string[] args)
        {
            // Créer un conteneur de dépendances
            var host = Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((hostingContext, config) =>
                {
                    config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
                })
                .Build();

            // Obtenir l'instance de Program via l'injection de dépendances
            var program = host.Services.GetRequiredService();

            // Utiliser les valeurs de configuration dans l'application
            Console.WriteLine($"Connection string: {program._configuration.GetConnectionString("ConnectionString")}");
            Console.WriteLine($"API URL: {program._configuration["MyApplicationSettings:ApiUrl"]}");
        }
    }
}

Conclusion

L'utilisation de fichiers AppSettings pour configurer des applications console .NET 6 offre un moyen flexible et pratique de gérer les paramètres de l'application sans avoir à modifier le code source. En utilisant les méthodes d'accès à la configuration et l'injection de dépendances, vous pouvez facilement accéder aux valeurs de configuration dans votre application et les utiliser pour personnaliser son comportement.

Featured Posts