34 votes

Pourquoi utiliser l'intégralité du .NET Framework avec ASP.NET Core ?

Avec la version 1.0 d'ASP.NET Core, il est possible de fonctionner soit sur .NET Core, soit sur la version complet .NET Framework selon la documentation aquí . J'essaie de comprendre la dernière option, à savoir pourquoi on choisirait ASP.NET Core + le .NET Framework complet ?

Je comprends la différence entre le .NET Framework complet et le .NET Core. Cependant, si je voulais utiliser l'intégralité de .NET Framework, pourquoi ne pas simplement utiliser ASP.NET 4.6 ? Je pensais que l'idée était de faire un coup double avec ASP.NET Core au sommet de .NET Core, ce qui permettait de bénéficier d'une foule d'avantages tels que le déploiement multiplateforme, la modularisation, la possibilité de déployer dans un conteneur Docker, les performances, etc. Sans .NET Core, je ne crois pas que quoi que ce soit sur cette liste soit encore valable, alors quel est le cas d'utilisation pour le cadre .NET complet + ASP.NET Core ? Quel est le cas d'utilisation de l'ensemble du cadre .NET + ASP.NET Core ? Qu'est-ce qu'ASP.NET Core seul m'apporte encore sans .NET Core ?

31voto

TLRonin Points 287

.NET Core permettant une multitude d'avantages comme le déploiement multiplateforme, la modularisation, la possibilité de déployer dans un conteneur Docker, les performances, etc. Sans .NET Core, je ne crois pas que quoi que ce soit sur cette liste soit encore valable.

Le seul avantage que vous n'avez pas si vous choisissez le cadre .NET complet plutôt que .NET Core est d'être multiplateforme. Tous les autres avantages de déploiement, modularisation, docker, performance, etc... sont toujours valables.

Nous exécutons actuellement notre application Web ASP.NET Core sur le framework complet et nous profitons maintenant des avantages de l'injection de dépendances en tant que citoyen de première classe, de l'intégration de NuGet, d'un pipeline de requêtes HTTP allégé qui améliore nos performances, de l'open source (tous les problèmes peuvent donc être résolus par une courte visite sur GitHub), de la modularité (nous n'avons toujours pas rencontré quelque chose que nous ne pouvions pas adapter à nos propres besoins après presque un an maintenant), etc. Et nous savons que nous n'avons pas besoin de déployer sur un autre système d'exploitation que Windows, ce qui nous permet de bénéficier de tous les avantages du framework complet.

Mise à jour de Tseng

Vous pouvez toujours cibler le .NET Framework complet sous Linux, par exemple. Pour cela, vous devez installer mono 4.6. Il y a quelques limitations car toutes les classes ne sont pas implémentées dans mono, mais la majorité l'est et il faut contourner les cas particuliers (par exemple le cryptage).

Mise à jour de atconway

Il convient également de noter qu'à l'heure actuelle, VB.NET n'est pas pris en charge par .NET Core, si c'est une exigence.

7voto

Will Ray Points 6722

Toutefois, si je voulais utiliser l'intégralité de .NET Framework, pourquoi ne pas utiliser ASP.NET 4.6 ?

Si j'utilise ASP.NET 4.6 au lieu de ASP.NET Core 1, je ne pourrai pas utiliser ASP.NET Core MVC. Aucune des fonctionnalités de cette page de documentation ne serait mise à ma disposition ! Je devrais construire une application MVC5. Boooo !

J'essaie de comprendre la dernière option, à savoir pourquoi on choisirait ASP.NET Core + le .NET Framework complet ?

Je suppose qu'une autre façon de poser la question serait : "pourquoi prendre le chemin rouge quand on peut prendre le chemin marron ?"

enter image description here

L'un des arguments en faveur de cette méthode est le déploiement. Si vous avez un tas de serveurs Windows existants sur lesquels se trouve IIS, vous allez devoir installer un logiciel supplémentaire sur chacun d'entre eux et les configurer pour exécuter des applications Core. IIS devient simplement un proxy inverse pour votre application .NET Core.

Cependant, si ces applications étaient construites sur le .Net Framework, vous n'auriez pas à le faire. Vous pourriez toujours utiliser le déploiement Web (par exemple) pour les transférer sur les serveurs. Vous avez peut-être d'autres paramètres de configuration IIS existants que vous ne voulez pas migrer.

En utilisant ASP.NET Core 1.0 qui cible le .Net Framework, vous pouvez bénéficier des nouvelles fonctionnalités d'ASP.NET Core MVC sans avoir à modifier votre infrastructure existante.

5voto

farid bekran Points 144

L'un des avantages importants de l'utilisation du cadre .NET complet avec Asp.Net core est la disponibilité de bibliothèques et de cadres matures qui sont développés principalement pour cibler la version précédente de .NET.

Mais au fil du temps et de l'implémentation de plus en plus de bibliothèques pour cibler .NET core et du développement de plus en plus de fonctionnalités pour .NET core lui-même, cet avantage peut s'estomper.

2voto

Alan B Points 1828

Le fait de devoir exploiter des technologies anciennes comme OLE DB qui ne seront jamais mises en œuvre dans NET Core System.Data est une autre raison.

0voto

saluce Points 5086

Une chose à considérer est qu'il peut s'agir d'une voie de migration. Disons, par exemple, que vous avez une application ASP.NET 4.6 existante que vous avez l'intention de faire migrer vers .NET Core. Vous voulez tirer parti des fonctionnalités d'ASP.NET Core telles que les TagHelpers, l'injection de dépendances, etc., mais vous n'êtes pas prêt ou capable d'utiliser le framework .NET Core. Vous développez donc l'application ASP.NET Core, en ciblant uniquement le cadre .NET complet. Ensuite, vous passez à l'étape suivante et vous multiciblez, en ciblant à la fois le cadre complet .NET et le cadre .NET Core. Cela vous donne la possibilité de déployer facilement votre application sur IIS avec le cadre complet ou sur d'autres plates-formes avec le cadre de base. À partir de là, vous pouvez décider d'éliminer ou non le framework complet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X