Vue d’ensemble d’ASP.NET Core
Par Daniel Roth, Rick Anderson et Shaun Luttin
Remarque
Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 9 de cet article.
Avertissement
Cette version d’ASP.NET Core n’est plus prise en charge. Pour plus d’informations, consultez la Stratégie de prise en charge de .NET et .NET Core. Pour la version actuelle, consultez la version .NET 8 de cet article.
Important
Ces informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Pour la version actuelle, consultez la version .NET 9 de cet article.
ASP.NET Core est un framework multiplateforme à hautes performances et open source pour créer des applications cloud modernes et connectées à Internet.
Avec ASP.NET Core, vous pouvez :
- Créer des applications et services web, des applications Internet des objets (IoT) et des back-ends mobiles.
- Utiliser vos outils de développement préférés sur Windows, macOS et Linux.
- Déployer dans le cloud ou localement.
- Exécutez sur .NET.
Pourquoi utiliser ASP.NET Core ?
Des millions de développeurs utilisent ou ont utilisé ASP.NET 4.x pour créer des applications web. ASP.NET Core est une refonte d’ASP.NET 4.x incluant des modifications d’architecture qui aboutissent à un framework plus léger et modulaire.
ASP.NET Core offre les avantages suivants :
- Un scénario unifié pour créer une interface utilisateur web et des API web.
- Architecturé pour la testabilité.
- Razor Pages permet de coder des scénarios orientés page de façon plus simple et plus productive.
- Blazor vous permet d’utiliser C# dans le navigateur en même temps que JavaScript. Partagez les logiques d’applications côté serveur et côté client écrites avec .NET.
- Capacité à développer et à exécuter sur Windows, macOS et Linux.
- Open source et centré sur la communauté.
- Intégration de frameworks modernes côté client et de workflows de développement.
- Prise en charge de l’hébergement des services d’appel de procédure distante (RPC) à l’aide de gRPC.
- Un système de configuration prêt pour le cloud et basé sur les environnements.
- Injection de dépendances intégrée.
- Un pipeline des requêtes HTTP léger, à hautes performances et modulaire.
- Capacité d’hébergement sur les éléments suivants :
- Contrôle de version côte à côte.
- Outils qui simplifient le développement web moderne.
Créer des API web et une interface utilisateur web en utilisant le modèle MVC d’ASP.NET Core
Le modèle MVC d’ASP.NET Core fournit des fonctionnalités pour créer des API web et des applications web :
- Le modèle MVC (Modèle-Vue-Contrôleur) permet de rendre vos API web et vos applications web testables.
- Razor Pages est un modèle de programmation basé sur les pages qui rend la création d’une interface utilisateur web plus facile et plus productive.
- Le balisage Razor fournit une syntaxe efficace pour les pages Razor et les vues MVC.
- Les Tag Helpers permettent au code côté serveur de participer à la création et au rendu des éléments HTML dans les fichiers Razor.
- La prise en charge intégrée de plusieurs formats de données et de la négociation de contenu permet à vos API web d’être utilisées par un large éventail de clients, notamment des navigateurs et des appareils mobiles.
- Le principe de la liaison de modèle permet le mappage automatiquement des données des requêtes HTTP aux paramètres des méthodes d’action.
- La validation de modèle effectue automatiquement la validation côté client et côté serveur.
Développement côté client
ASP.NET Core inclut Blazor pour la création d’une interface utilisateur web riche et interactive, et s’intègre également à d’autres frameworks JavaScript front-end courants, comme Angular, React, Vue et Bootstrap. Pour plus d’informations, consultez Blazor ASP.NET Core et les rubriques connexes sous Développement côté client.
Frameworks cibles ASP .NET Core
ASP.NET Core 3.x ou ultérieur peut cibler seulement .NET Core.
Il y a plusieurs avantages à utiliser .NET et ces avantages s’accroissent avec chaque version. Voici quelques avantages de .NET Core par rapport à .NET Framework :
- Multiplateforme. S’exécute sur Windows, macOS et Linux.
- Amélioration des performances
- Contrôle de versions côte à côte
- Nouvelles API
- Open source
Parcours d’apprentissage recommandé
Nous vous recommandons la séquence de tutoriels suivante comme introduction au développement des applications ASP.NET Core :
Suivez un tutoriel pour le type d’application que vous souhaitez développer ou gérer.
Type d’application Scénario Didacticiel Application web Nouveau développement de l’interface utilisateur web côté serveur Prise en main des pages Razor Application web Pour maintenir une application MVC Bien démarrer avec MVC Application web Développement de l’interface utilisateur web côté client Commencer à utiliser Blazor API Web Services HTTP RESTful Créer une API web† Application d’appel de procédure distante Services contrat-first utilisant des mémoires tampons de protocole Bien démarrer avec un service gRPC Application en temps réel Communication bidirectionnelle entre les serveurs et les clients connectés Commencer à utiliser SignalR Suivez un tutoriel expliquant comment exécuter l’accès aux données de base.
Scénario Didacticiel Nouveau développement Pages Razor avec Entity Framework Core Pour maintenir une application MVC MVC avec Entity Framework Core Lisez une présentation des principes fondamentaux d’ASP.NET Core qui s’appliquent à tous les types d’application.
Parcourez la table des matières pour d’autres rubriques qui vous intéressent.
†Vous trouverez aussi un tutoriel d’API web interactif. Aucune installation locale des outils de développement n’est requise. Le code s’exécute dans Azure Cloud Shell dans votre navigateur, et curl est utilisé à des fins de test.
Migrer à partir de .NET Framework
Pour obtenir un guide de référence sur la migration d’applications ASP.NET 4.x vers ASP.NET Core, consultez Mettre à jour depuis ASP.NET vers ASP.NET Core.
ASP.NET Core est un framework multiplateforme à hautes performances et open source pour créer des applications cloud modernes et connectées à Internet. Avec ASP.NET Core, vous pouvez :
- Créer des applications et services web, des applications Internet des objets (IoT) et des back-ends mobiles.
- Utiliser vos outils de développement préférés sur Windows, macOS et Linux.
- Déployer dans le cloud ou localement.
- Exécuter sur .NET Core ou .NET Framework.
Pourquoi utiliser ASP.NET Core ?
Des millions de développeurs utilisent ou ont utilisé ASP.NET 4.x pour créer des applications web. ASP.NET Core est une reconception d’ASP.NET 4.x, avec des modifications d’architecture qui aboutissent à un framework plus léger et modulaire.
ASP.NET Core offre les avantages suivants :
- Un scénario unifié pour créer une interface utilisateur web et des API web.
- Architecturé pour la testabilité.
- Razor Pages permet de coder des scénarios orientés page de façon plus simple et plus productive.
- Blazor vous permet d’utiliser C# dans le navigateur en même temps que JavaScript. Partagez les logiques d’applications côté serveur et côté client écrites avec .NET.
- Capacité à développer et à exécuter sur Windows, macOS et Linux.
- Open source et centré sur la communauté.
- Intégration de frameworks modernes côté client et de workflows de développement.
- Prise en charge de l’hébergement des services d’appel de procédure distante (RPC) à l’aide de gRPC.
- Un système de configuration prêt pour le cloud et basé sur les environnements.
- Injection de dépendances intégrée.
- Un pipeline des requêtes HTTP léger, à hautes performances et modulaire.
- Capacité d’hébergement sur les éléments suivants :
- Contrôle de version côte à côte.
- Outils qui simplifient le développement web moderne.
Créer des API web et une interface utilisateur web en utilisant le modèle MVC d’ASP.NET Core
Le modèle MVC d’ASP.NET Core fournit des fonctionnalités pour créer des API web et des applications web :
- Le modèle MVC (Modèle-Vue-Contrôleur) permet de rendre vos API web et vos applications web testables.
- Razor Pages est un modèle de programmation basé sur les pages qui rend la création d’une interface utilisateur web plus facile et plus productive.
- Le balisage Razor fournit une syntaxe efficace pour les pages Razor et les vues MVC.
- Les Tag Helpers permettent au code côté serveur de participer à la création et au rendu des éléments HTML dans les fichiers Razor.
- La prise en charge intégrée de plusieurs formats de données et de la négociation de contenu permet à vos API web d’être utilisées par un large éventail de clients, notamment des navigateurs et des appareils mobiles.
- Le principe de la liaison de modèle permet le mappage automatiquement des données des requêtes HTTP aux paramètres des méthodes d’action.
- La validation de modèle effectue automatiquement la validation côté client et côté serveur.
Développement côté client
ASP.NET Core s’intègre parfaitement aux frameworks et bibliothèques courants côté client, notamment Blazor, Angular, React, Vue et Bootstrap. Pour plus d’informations, consultez Blazor ASP.NET Core et les rubriques connexes sous Développement côté client.
ASP.NET Core ciblant .NET Framework
ASP.NET Core 2.x peut cibler .NET Core ou le .NET Framework. Les applications ASP.NET Core ciblant .NET Framework ne sont pas multiplateformes : elles s’exécutent seulement sur Windows. D’une façon générale, ASP.NET Core 2.x est constitué de bibliothèques .NET Standard. Les bibliothèques écrites avec .NET Standard 2.0 s’exécutent sur n’importe quelle plateforme .NET qui implémente .NET Standard 2.0.
ASP.NET Core 2.x est pris en charge sur les versions .NET Framework compatibles avec .NET Standard 2.0 :
- La dernière version de .NET framework recommandée.
- .NET Framework 4.6.1 ou ultérieur.
ASP.NET Core 3.0 ou ultérieur s’exécute uniquement sur .NET Core. Pour plus de détails concernant ce changement, consultez A first look at changes coming in ASP.NET Core 3.0.
Le ciblage de .NET Core présente plusieurs avantages, qui sont plus nombreux à chaque version. Voici certains avantages de .NET Core par rapport à .NET Framework :
- Multiplateforme. S’exécute sur macOS, Linux et Windows
- Amélioration des performances
- Contrôle de versions côte à côte
- Nouvelles API
- Open source
Pour aider à combler l’écart entre .NET Framework et .NET Core, le pack de compatibilité Windows a rendu des milliers d’API Windows uniquement disponibles dans .NET Core. Ces API n’étaient pas disponibles dans .NET Core 1.x.
Parcours d’apprentissage recommandé
Nous vous recommandons la séquence de tutoriels et d’articles suivante comme introduction au développement des applications ASP.NET Core :
Suivez un tutoriel pour le type d’application que vous souhaitez développer ou gérer.
Type d’application Scénario Didacticiel Application web Pour un nouveau développement Prise en main des pages Razor Application web Pour maintenir une application MVC Bien démarrer avec MVC API Web Créer une API web† Application en temps réel Commencer à utiliser SignalR Suivez un tutoriel expliquant comment exécuter l’accès aux données de base.
Scénario Didacticiel Pour un nouveau développement Pages Razor avec Entity Framework Core Pour maintenir une application MVC MVC avec Entity Framework Core Lisez une présentation des principes fondamentaux d’ASP.NET Core qui s’appliquent à tous les types d’application.
Parcourez la Table des matières pour d’autres rubriques qui vous intéressent.
†Il existe aussi un tutoriel sur l’API web que vous pouvez suivre entièrement dans le navigateur (aucune installation d’IDE locale requise). Le code s’exécute dans Azure Cloud Shell, et curl est utilisé à des fins de test.
Migrer à partir de .NET Framework
Pour obtenir un guide de référence sur la migration d’applications ASP.NET vers ASP.NET Core, consultez Mettre à jour depuis ASP.NET vers ASP.NET Core.
Comment télécharger un exemple
La plupart des articles et tutoriels contiennent des liens vers des exemples de code.
- Téléchargez le fichier zip du référentiel ASP.NET.
- Décompressez le fichier
AspNetCore.Docs-main.zip
. - Pour accéder à l’exemple d’application d’un article dans le référentiel décompressé, utilisez l’URL du lien de l’exemple d’article pour vous aider à accéder au dossier de l’exemple. En règle générale, l’exemple de lien d’un article apparaît en haut de l’article avec le texte de lien Afficher ou télécharger l’exemple de code.
Directives de préprocesseur dans l’exemple de code
Pour illustrer plusieurs scénarios, les exemples d’applications utilisent les directives de préprocesseur #define
et #if-#else/#elif-#endif
pour compiler et exécuter différentes sections de l’exemple de code de manière sélective. Pour ces exemples qui utilisent cette approche, définissez la directive #define
en haut des fichiers C# pour définir le symbole associé au scénario que vous souhaitez exécuter. Certains exemples exigent que vous définissiez le symbole en haut de plusieurs fichiers afin d’exécuter un scénario.
Par exemple, la liste des symboles #define
suivante indique que les quatre scénarios sont disponibles (un scénario par symbole). La configuration actuelle de l’exemple exécute le scénario TemplateCode
:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Pour que l’exemple exécute le scénario ExpandDefault
, définissez le symbole ExpandDefault
et laissez les symboles restants commentés :
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Pour plus d’informations sur l’utilisation des directives de préprocesseur C# pour compiler de façon sélective des sections de code, consultez #define (Référence C#) et #if (Référence C#) .
Changements cassants et avis de sécurité
Les changements cassants et les avis de sécurité sont signalés dans le dépôt Annonces. Les annonces peuvent être limitées à une version spécifique en sélectionnant un filtre Étiquette.
Étapes suivantes
Pour plus d’informations, consultez les ressources suivantes :
- Bien démarrer avec ASP.NET Core
- Publier une application ASP.NET Core sur Azure avec Visual Studio
- Notions de base d’ASP.NET Core
- Le point hebdomadaire de la communauté ASP.NET couvre l’avancement et les plans des équipes de développement. Il comprend de nouveaux blogs et des logiciels de tiers.