Le framework ASP.NET Core 2.2 est disponible en version stable
avec un nouveau module d’hébergement dans IIS et une nouvelle API pour suivre l’état des applications

Depuis quelques jours, Microsoft a annoncé la sortie de la version 2.2 de son framework modulaire .Net Core. Dans cette nouvelle version, l’équipe de .Net Core a fait savoir que les améliorations les plus significatives concernent principalement ASP.NET Core. ASP.NET Core est un framework .NET open source et multiplateforme permettant de créer des applications basées sur le cloud, telles que des applications Web, des applications IoT et des systèmes backend mobiles. Les applications ASP.NET Core peuvent s’exécuter aussi bien sur Windows, Linux ou macOS.

Dans cette nouvelle version 2.2 d’ASP.NET Core, en plus d’avoir amélioré les performances, l’équipe de Microsoft a mis un point d’honneur sur l’amélioration de la productivité des développeurs et des fonctionnalités de la plateforme en ce qui concerne la création d’API/HTTP.

À ce sujet, Microsoft a intégré dans cette nouvelle version d’ASP.NET un service de vérification de l’état de fonctionnement des applications et un middleware afin de faciliter son utilisation dans les environnements nécessitant des contrôles d’intégrité, tels que Kubernetes. Les nouvelles fonctionnalités consistent en un ensemble de bibliothèques définissant une abstraction et un service IHealthCheck, ainsi qu’un middleware à utiliser dans ASP.NET Core. Toujours sur le même sujet de vérification de l’état des applications, le projet BeatPulse, qui avait été initié pour combler un vide dans l’écosystème ASP.NET Core lorsqu’aucune bibliothèque de contrôles de l'état de santé des applications n’était disponible, prend désormais en charge la nouvelle API Health Checks implémentée par Microsoft. Pour les développeurs, cela signifie qu’ils peuvent facilement ajouter des contrôles de santé pour des dizaines de systèmes et de dépendances en les utilisant.

À côté de cet ajout, nous avons une amélioration au niveau de la validation par les systèmes MVC. Cette amélioration consiste en une nouvelle fonctionnalité qui permet à un système de validation MVC de court-circuiter la validation s’il peut déterminer qu’un graphe de modèle donné ne nécessite aucune validation. Cela permet d’obtenir des améliorations significatives de performance du modèle MVC qui peuvent aller jusqu’à 15 % lors de la validation de modèles auxquels aucun valideur n’est associé. Cela comprend des objets tels que des collections de primitives (byte[], string[], Dictionary<string, string>etc.), ou des graphes d’objets complexes sans beaucoup de valideurs.

Nom : aspnetcore.png
Affichages : 3581
Taille : 24,2 Ko

En plus de ces améliorations, il faut noter également qu’un nouveau module (aspNetCoreModuleV2) pour l’hébergement de l’application ASP.NET Core dans IIS a été intégré. Ce nouveau module ajoute la possibilité d’héberger une application .NET Core au sein du processus IIS Worker et évite les coûts supplémentaires liés à la mise en proxy inverse des requêtes vers un processus .Net distinct. Cette prise en charge de l’hébergement en cours de processus a pour avantage d’améliorer le débit sur IIS jusqu’à 400 %.

Abordant l’amélioration des performances, l’équipe de Microsoft avance que quelques améliorations importantes de performances ont été apportées à la classe SocketsHttpHandler en améliorant le conflit de verrouillage du pool de connexions. Ainsi, si vous avez une application qui effectue de nombreuses requêtes HTTP sortantes, le débit devrait être considérablement amélioré. Selon les tests de performance internes de Microsoft, après l’amélioration de la classe ci-dessus, le débit sous HttpClient s’est amélioré de 60 % sous Linux et de 20 % sous Windows.

Dans le lot des autres améliorations, l’on peut également inclure la mise à jour des modèles de projet pour Bootstrap 4 et l’ajout du support à l’interface utilisateur par défaut afin d’utiliser Bootstrap 3 et 4. Pour la compatibilité avec les applications existantes, la version par défaut de Bootstrap pour l’interface utilisateur par défaut est maintenant Bootstrap 3, mais vous pouvez sélectionner la version de Bootstrap que vous souhaitez utiliser lors de l’appel AddDefaultUI.

Enfin, il faut noter dans cette version d’ASP.NET Core 2.2 un client Java pour SignalR a été ajouté. SignalR est une bibliothèque pour ASP.NET qui permet au code serveur d’envoyer des notifications asynchrones aux applications web côté client. Pour ce qui concerne le client Java qui a été ajouté, il prend en charge la connexion au serveur SignalR Server d'ASP.NET Core à partir du code Java, y compris les applications Android.

Source : Microsoft

Et vous ?

Que pensez-vous de cette nouvelle version d’ASP.NET Core ?

Quelles sont les fonctionnalités que vous appréciez le plus ou le moins ?

Voir aussi

Microsoft annonce que ASP.NET Core 3.0 fonctionnera uniquement sur .NET Core 3.0 et ne sera plus compatible avec la plateforme .NET Framework
Les nouveautés de ASP.NET Core 2.0 Preview — Partie 1 : découverte du metapackage Microsoft.AspNetCore.All, par Hinault Romaric
Les nouveautés de ASP.NET Core 2.0 Preview 1 — Partie 2 : Program.cs et CreateDefaultBuilder, par Hinault Romaric
Les nouveautés de ASP.NET Core 2.0 Preview — Partie 3 : introduction à Razor Pages, par Hinault Romaric
Les nouveautés de ASP.NET Core Preview — Partie 4 : les nouveaux templates SPA, par Hinault Romaric