.net Console App Appsettings.json

5 min read Jun 03, 2024
.net Console App Appsettings.json

Gérer les configurations d'applications .NET Console avec appsettings.json

Les applications .NET Console peuvent être configurées de manière flexible et pratique en utilisant le fichier appsettings.json. Ce fichier permet de stocker des paramètres de configuration tels que les connexions aux bases de données, les URLs d'API, les valeurs par défaut et bien plus encore.

Pourquoi utiliser appsettings.json ?

L'utilisation de appsettings.json présente plusieurs avantages :

  • Séparation des configurations: Le fichier JSON sépare les paramètres de configuration du code source, rendant l'application plus facile à maintenir et à modifier.
  • Facilité de gestion: Le format JSON est simple à lire et à écrire, facilitant la modification des configurations par les développeurs et les administrateurs.
  • Environnements multiples: Vous pouvez avoir des fichiers appsettings.json distincts pour différents environnements (développement, test, production), permettant de configurer l'application différemment selon le contexte.

Configurer votre application .NET Console

Voici les étapes pour configurer votre application .NET Console avec appsettings.json :

  1. Créer le fichier appsettings.json:

    • Dans le répertoire de votre projet, créez un fichier nommé appsettings.json.
    • Ajoutez les paramètres de configuration que vous souhaitez utiliser au format JSON. Par exemple:
    {
      "ConnectionStrings": {
        "DefaultConnection": "Server=localhost;Database=MyDatabase;User Id=sa;Password=Password"
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft": "Warning",
          "Microsoft.Hosting.Lifetime": "Information"
        }
      },
      "MyCustomSetting": "Hello World!"
    }
    
  2. Installer le package NuGet Microsoft.Extensions.Configuration:

    dotnet add package Microsoft.Extensions.Configuration
    
  3. Charger les configurations dans votre application:

    using Microsoft.Extensions.Configuration;
    
    // Charger le fichier appsettings.json
    var configuration = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
        .Build();
    
    // Accéder aux paramètres de configuration
    var connectionString = configuration.GetConnectionString("DefaultConnection");
    var myCustomSetting = configuration.GetValue("MyCustomSetting");
    
    Console.WriteLine($"Chaîne de connexion : {connectionString}");
    Console.WriteLine($"Paramètre personnalisé : {myCustomSetting}");
    

Utiliser des environnements multiples

Pour utiliser des fichiers appsettings.json distincts pour différents environnements, vous pouvez utiliser les options suivantes :

  • appsettings.{Environment}.json: Créez des fichiers appsettings.Development.json, appsettings.Test.json et appsettings.Production.json pour chaque environnement.
  • appsettings.Environment.json: Créez un seul fichier appsettings.json contenant des paramètres par défaut, puis créez des fichiers spécifiques à l'environnement comme appsettings.Development.json, appsettings.Test.json et appsettings.Production.json pour les configurations spécifiques à chaque environnement.

Dans votre code, chargez les configurations en utilisant AddJsonFile et spécifiez le nom du fichier en fonction de l'environnement actuel.

// Charger appsettings.json et appsettings.{Environment}.json
var configuration = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", optional: true, reloadOnChange: true)
    .Build();

Conclusion

En utilisant appsettings.json, vous pouvez gérer efficacement les configurations de votre application .NET Console, en la rendant plus flexible, facile à maintenir et à adapter à différents environnements. N'oubliez pas de toujours suivre les bonnes pratiques de sécurité lors de la gestion des configurations et de ne jamais stocker des informations sensibles directement dans le fichier appsettings.json.

Featured Posts