Configuration d'applications console .NET Core avec appsettings.json et les environnements
Introduction
Les applications console .NET Core sont souvent utilisées pour des tâches automatisées ou des scripts en ligne de commande. La configuration de ces applications est essentielle pour gérer les paramètres, les connexions aux bases de données et d'autres configurations spécifiques à l'environnement. Dans cet article, nous allons explorer comment utiliser le fichier appsettings.json
pour configurer des applications console .NET Core, en mettant l'accent sur la gestion des environnements.
Le fichier appsettings.json
Le fichier appsettings.json
est un fichier de configuration standard pour les applications .NET Core. Il stocke les paramètres de l'application sous forme de paires clé-valeur. Vous pouvez organiser ces paramètres en sections pour une meilleure lisibilité et organisation.
Exemple:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=MyDatabase;User ID=sa;Password=Password123"
},
"AppSettings": {
"MySetting": "Value"
}
}
Gestion des environnements
Les applications .NET Core prennent en charge la configuration d'environnements distincts. Chaque environnement peut avoir ses propres paramètres spécifiques, tels que des connexions à des bases de données de développement ou de production différentes. Vous pouvez utiliser le fichier appsettings.json
pour gérer ces environnements en créant des fichiers distincts pour chaque environnement.
Exemple:
appsettings.Development.json
pour l'environnement de développementappsettings.Production.json
pour l'environnement de production
Exemple de fichier appsettings.Development.json:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=MyDatabaseDev;User ID=sa;Password=Password123"
}
}
Exemple de fichier appsettings.Production.json:
{
"ConnectionStrings": {
"DefaultConnection": "Server=myproductionserver;Database=MyDatabaseProd;User ID=produser;Password=ProdPassword"
}
}
Lecture des paramètres
Vous pouvez lire les paramètres de configuration dans votre application console .NET Core en utilisant le type IConfiguration
. Ce type vous permet d'accéder aux paramètres dans le fichier appsettings.json
et dans les fichiers spécifiques à l'environnement.
Exemple:
using Microsoft.Extensions.Configuration;
public class Program
{
public static void Main(string[] args)
{
// Construire un fournisseur de configuration
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", optional: true)
.AddEnvironmentVariables();
// Créer l'objet IConfiguration
IConfiguration config = builder.Build();
// Lire les paramètres
string connectionString = config.GetConnectionString("DefaultConnection");
string mySetting = config.GetValue("AppSettings:MySetting");
// Utiliser les paramètres
Console.WriteLine($"Chaîne de connexion : {connectionString}");
Console.WriteLine($"Paramètre : {mySetting}");
}
}
Conclusion
Utiliser le fichier appsettings.json
pour configurer les applications console .NET Core offre un moyen efficace et flexible de gérer les paramètres et les environnements. En séparant les configurations par environnement, vous pouvez garantir que votre application utilise les bons paramètres en fonction de son environnement d'exécution. N'oubliez pas de définir la variable d'environnement ASPNETCORE_ENVIRONMENT
pour que l'application puisse charger le bon fichier de configuration.