.net Core Get Configuration In Startup

6 min read Jun 03, 2024
.net Core Get Configuration In Startup

Accéder à la configuration dans le démarrage de .NET Core

L'accès à la configuration est une étape essentielle dans le développement d'applications .NET Core. La configuration permet de définir les paramètres de votre application, tels que les connexions à la base de données, les URL des services externes, etc. Dans ce guide, nous allons explorer différentes méthodes pour accéder à la configuration dans le démarrage de votre application .NET Core.

Configuration par fichier JSON

La méthode la plus courante pour stocker la configuration de votre application .NET Core est d'utiliser un fichier JSON. Les fichiers JSON sont faciles à lire, à écrire et à gérer, ce qui en fait un choix populaire pour les configurations d'applications.

Pour accéder à la configuration à partir d'un fichier JSON, vous devez d'abord créer un fichier nommé appsettings.json dans le répertoire racine de votre projet. Ce fichier contiendra vos paramètres de configuration.

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=myServer;Database=myDatabase;User Id=myUser;Password=myPassword"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  }
}

Ensuite, dans votre classe de démarrage, vous pouvez injecter l'interface IConfiguration pour accéder à la configuration.

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // ...
}

Vous pouvez ensuite utiliser la propriété Configuration pour accéder aux valeurs de configuration. Par exemple, pour récupérer la chaîne de connexion à la base de données :

string connectionString = Configuration.GetConnectionString("DefaultConnection");

Configuration via l'environnement

Vous pouvez également configurer votre application en fonction de l'environnement d'exécution (développement, test, production). Pour cela, vous pouvez créer des fichiers JSON distincts pour chaque environnement. Par exemple, vous pouvez créer un fichier appsettings.Development.json pour l'environnement de développement, un fichier appsettings.Testing.json pour l'environnement de test et un fichier appsettings.Production.json pour l'environnement de production.

Ces fichiers JSON contiennent les paramètres spécifiques à l'environnement. La configuration par défaut est toujours définie dans le fichier appsettings.json, tandis que les fichiers spécifiques à l'environnement sont utilisés pour remplacer les valeurs par défaut.

// Dans le fichier appsettings.Development.json
{
  "ConnectionStrings": {
    "DefaultConnection": "Server=myDevServer;Database=myDevDatabase;User Id=myDevUser;Password=myDevPassword"
  }
}

// Dans le fichier appsettings.Production.json
{
  "ConnectionStrings": {
    "DefaultConnection": "Server=myProdServer;Database=myProdDatabase;User Id=myProdUser;Password=myProdPassword"
  }
}

Lors de l'exécution de l'application dans l'environnement de développement, la configuration est chargée à partir du fichier appsettings.json et appsettings.Development.json. Si une clé est présente dans les deux fichiers, la valeur du fichier appsettings.Development.json est utilisée.

Accéder à la configuration dans les services

Vous pouvez également accéder à la configuration dans les services de votre application. Pour ce faire, vous devez injecter l'interface IConfiguration dans le constructeur de votre service.

public class MyService
{
    private readonly IConfiguration _configuration;

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

    public string GetConnectionString()
    {
        return _configuration.GetConnectionString("DefaultConnection");
    }
}

Ensuite, vous pouvez utiliser la propriété _configuration pour accéder aux valeurs de configuration dans les méthodes de votre service.

Conclusion

L'accès à la configuration est une opération courante dans les applications .NET Core. En utilisant les méthodes décrites ci-dessus, vous pouvez facilement accéder à la configuration dans le démarrage de votre application, que ce soit à partir d'un fichier JSON, de l'environnement ou dans les services. N'oubliez pas d'utiliser la méthode qui correspond le mieux à vos besoins et à la complexité de votre application.