Prise en main de la migration incrémentielle d’ASP.NET vers ASP.NET Core
Pour une migration volumineuse, nous vous recommandons de configurer une application ASP.NET Core qui envoie par proxy vers l’application .NET Framework d’origine. La nouvelle application avec proxy est présentée dans l’image suivante :
Pour comprendre en quoi cette approche est utile dans le processus de migration, consultez Migration incrémentielle d’ASP.NET vers ASP.NET Core. Le reste de cet article décrit les étapes à suivre pour procéder à une migration incrémentielle.
Configuration d’un projet ASP.NET Core
Pour les applications MVC et l’API Web d’ASP.NET, consultez Apprendre à effectuer une mise à niveau à partir du MVC et de l’API Web d’ASP.NET vers le MVC d’ASP.NET Core. Pour les applications Web Forms d’ASP.NET Framework, consultez Apprendre à effectuer une mise à niveau d’ASP.NET Web Forms vers ASP.NET Core.
Mettre à niveau les bibliothèques de prise en charge
Si la solution que vous devez utiliser contient des bibliothèques de prise en charge, elles doivent être mises à niveau vers .NET Standard 2.0, si possible. L’Assistant Mise à niveau est un excellent outil pour cela. Si les bibliothèques ne peuvent pas cibler .NET Standard, vous pouvez cibler .NET 6 ou une version ultérieure avec la cible .NET Framework dans le projet d’origine ou dans un nouveau projet en même temps que l’original.
Les adaptateurs peuvent être utilisés dans ces bibliothèques pour activer la prise en charge de l’utilisation de System.Web.HttpContext
dans les bibliothèques de classes. Pour activer l’utilisation de System.Web.HttpContext
dans une bibliothèque :
- Supprimer la référence à
System.Web
dans le fichier projet - Ajoutez le package
Microsoft.AspNetCore.SystemWebAdapters
- Activez le multi-ciblage et ajoutez une cible .NET 6 ou une version ultérieure, ou convertissez le projet en .NET Standard 2.0.
- Vérifiez que l’infrastructure cible prend en charge .NET Core. Le multi-ciblage peut être utilisé si .NET Standard 2.0 n’est pas suffisant
Cette étape peut nécessiter la modification d’un certain nombre de projets en fonction de la structure de votre solution. L’Assistant Mise à niveau peut vous aider à identifier les projets dont un certain nombre d’étapes du processus doivent être modifiées et automatisées.
Activer la prise en charge d’une session
Une session est une fonctionnalité couramment utilisée d’ASP.NET qui partage le nom avec une fonctionnalité dans ASP.NET Core dont les API sont très différentes. Consultez la documentation sur la prise en charge d’une session.
Activer la prise en charge de l’authentification partagée
Il est possible de partager l’authentification entre l’application ASP.NET d’origine et la nouvelle application ASP.NET Core à l’aide de la fonctionnalité d’authentification à distance des adaptateurs System.Web
. Cette fonctionnalité permet à l’application ASP.NET Core de différer l’authentification à l’application ASP.NET. Pour plus d’informations, consultez la documentation relative à la connexion d’application à distance et à l’authentification à distance.
Conseils généraux d’utilisation
Il existe un certain nombre de différences entre ASP.NET et ASP.NET Core que les adaptateurs peuvent aider à mettre à jour. Toutefois, certaines fonctionnalités nécessitent un consentement, car elles entraînent des coûts. Il existe également des comportements qui ne peuvent pas être adaptés. Consultez les conseils d’utilisation pour obtenir la liste de ceux-ci.