Partager via


Migrer la configuration vers ASP.NET Core

Par Steve Smith et Scott Addie

Dans l’article précédent, nous avons commencé à migrer un projet ASP.NET MVC vers ASP.NET Core MVC. Dans cet article, nous allons migrer la configuration.

Affichez ou téléchargez l’exemple de code (procédure de téléchargement)

Configuration

ASP.NET Core n’utilise plus les fichiers Global.asax et web.config que les versions précédentes d’ASP.NET utilisaient. Dans les versions antérieures d’ASP.NET, la logique de démarrage d’application était placée dans une méthode Application_StartUp dans Global.asax. Plus tard, dans ASP.NET MVC, un fichier Startup.csa été inclus à la racine du projet. Il a été appelé au démarrage de l’application. ASP.NET Core a complètement adopté cette approche en plaçant toute la logique de démarrage dans le fichier Startup.cs.

Le fichier web.config a également été remplacé dans ASP.NET Core. La configuration elle-même peut désormais être configurée, dans le cadre de la procédure de démarrage de l’application décrite dans Startup.cs. La configuration peut toujours utiliser des fichiers XML, mais généralement les projets ASP.NET Core placent des valeurs de configuration dans un fichier au format JSON, tel que appsettings.json. Le système de configuration d’ASP.NET Core peut également accéder facilement aux variables d’environnement, ce qui peut fournir un emplacement plus sécurisé et robuste pour les valeurs spécifiques à l’environnement. Cela est particulièrement vrai pour les secrets tels que les chaînes de connexion et les clés API qui ne doivent pas être archivés dans le contrôle de code source. Consultez Configuration pour en savoir plus sur la configuration dans ASP.NET Core.

Pour cet article, nous commençons par le projet ASP.NET Core partiellement migré de l’article précédent. Pour configurer la configuration, ajoutez le constructeur et la propriété suivants au fichier Startup.cs situé à la racine du projet :

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

public IConfiguration Configuration { get; }

Notez qu’à ce stade, le fichier Startup.cs ne sera pas compilé, car nous devons toujours ajouter l’instruction using suivante :

using Microsoft.Extensions.Configuration;

Ajoutez un fichier appsettings.json à la racine du projet à l’aide du modèle d’élément approprié :

Add AppSettings JSON

Migrer les paramètres de configuration à partir de web.config

Notre projet MVC ASP.NET incluait la chaîne de connexion de base de données requise dans web.config, dans l’élément <connectionStrings>. Dans notre projet ASP.NET Core, nous allons stocker ces informations dans le fichier appsettings.json. Ouvrez appsettings.json. Vous remarquerez qu’il inclut déjà les éléments suivants :

{
    "Data": {
        "DefaultConnection": {
            "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
        }
    }
}

Dans la ligne en surbrillance illustrée ci-dessus, remplacez le nom de la base de données _CHANGE_ME par le nom de votre base de données.

Résumé

ASP.NET Core place toute la logique de démarrage de l’application dans un fichier unique, dans lequel les services et les dépendances nécessaires peuvent être définis et configurés. Il remplace le fichier web.config par une fonctionnalité de configuration flexible qui peut tirer parti de divers formats de fichiers, tels que JSON, ainsi que des variables d’environnement.