Présentation d’ASP.NET CoreIntroduction to ASP.NET Core

Par Daniel Roth, Rick Anderson et Shaun LuttinBy Daniel Roth, Rick Anderson, and Shaun Luttin

ASP.NET Core est un framework multiplateforme à hautes performances et open source pour créer des applications cloud modernes et connectées à Internet.ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-based, Internet-connected applications. Avec ASP.NET Core, vous pouvez :With ASP.NET Core, you can:

  • Créer des applications et des services web, des applications IoT et des back-ends mobiles.Build web apps and services, IoT apps, and mobile backends.
  • Utiliser vos outils de développement préférés sur Windows, macOS et Linux.Use your favorite development tools on Windows, macOS, and Linux.
  • Déployer dans le cloud ou localement.Deploy to the cloud or on-premises.
  • Exécuter sur .NET Core ou .NET Framework.Run on .NET Core or .NET Framework.

Pourquoi utiliser ASP.NET Core ?Why choose ASP.NET Core?

Des millions de développeurs ont utilisé (et continuent d’utiliser) ASP.NET 4.x pour créer des applications web.Millions of developers have used (and continue to use) ASP.NET 4.x to create web apps. ASP.NET Core est une refonte d’ASP.NET 4.x, avec des modifications d’architecture qui aboutissent à un framework plus léger et modulaire.ASP.NET Core is a redesign of ASP.NET 4.x, with architectural changes that result in a leaner, more modular framework.

ASP.NET Core offre les avantages suivants :ASP.NET Core provides the following benefits:

Créer des API web et une interface utilisateur web en utilisant le modèle MVC d’ASP.NET CoreBuild web APIs and web UI using ASP.NET Core MVC

Le modèle MVC d’ASP.NET Core fournit des fonctionnalités pour créer des API web et des applications web :ASP.NET Core MVC provides features to build web APIs and web apps:

Développement côté clientClient-side development

ASP.NET Core s’intègre parfaitement avec les frameworks et les bibliothèques populaires côté client, notamment Blazor, Angular, React et Bootstrap.ASP.NET Core integrates seamlessly with popular client-side frameworks and libraries, including Blazor, Angular, React, and Bootstrap. Pour plus d’informations, consultez Introduction à Blazor dans ASP.NET Core et les rubriques connexes sous Développement côté client.For more information, see Introduction à Blazor dans ASP.NET Core and related topics under Client-side development.

ASP.NET Core ciblant .NET FrameworkASP.NET Core targeting .NET Framework

ASP.NET Core 2.x peut cibler .NET Core ou le .NET Framework.ASP.NET Core 2.x can target .NET Core or .NET Framework. Les applications ASP.NET Core ciblant .NET Framework ne sont pas multiplateformes : elles s’exécutent seulement sur Windows.ASP.NET Core apps targeting .NET Framework aren't cross-platform—they run on Windows only. D’une façon générale, ASP.NET Core 2.x est constitué de bibliothèques .NET Standard.Generally, ASP.NET Core 2.x is made up of .NET Standard libraries. 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.Libraries written with .NET Standard 2.0 run on any .NET platform that implements .NET Standard 2.0.

ASP.NET Core 2.x est pris en charge sur les versions .NET Framework compatibles avec .NET Standard 2.0 :ASP.NET Core 2.x is supported on .NET Framework versions that implement .NET Standard 2.0:

  • La dernière version de .NET framework est fortement recommandée..NET Framework latest version is strongly recommended.
  • .NET Framework 4.6.1 et versions ultérieures..NET Framework 4.6.1 and later.

ASP.NET Core 3.0 et ultérieur s’exécute uniquement sur .NET Core.ASP.NET Core 3.0 and later will only run on .NET Core. Pour plus de détails concernant ce changement, consultez A first look at changes coming in ASP.NET Core 3.0.For more details regarding this change, see 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.There are several advantages to targeting .NET Core, and these advantages increase with each release. Voici certains avantages de .NET Core par rapport à .NET Framework :Some advantages of .NET Core over .NET Framework include:

  • Multiplateforme.Cross-platform. S’exécute sur macOS, Linux et WindowsRuns on macOS, Linux, and Windows.
  • Performances amélioréesImproved performance
  • Gestion des versions côte à côteSide-by-side versioning
  • Nouvelles APINew APIs
  • Open sourceOpen source

Nous nous efforçons de combler l’écart d’API qui existe entre .NET Framework et .NET Core.We're working hard to close the API gap from .NET Framework to .NET Core. Le Pack de compatibilité Windows a rendu disponible dans .NET Core des milliers d’API fonctionnant seulement dans Windows.The Windows Compatibility Pack made thousands of Windows-only APIs available in .NET Core. Ces API n’étaient pas disponibles dans .NET Core 1.x.These APIs weren't available in .NET Core 1.x.

Nous vous recommandons la séquence de tutoriels et d’articles suivante comme introduction au développement des applications ASP.NET Core :We recommend the following sequence of tutorials and articles for an introduction to developing ASP.NET Core apps:

  1. Suivez un tutoriel pour le type d’application que vous souhaitez développer ou gérer :Follow a tutorial for the type of app you want to develop or maintain:

    Type d'applicationApp type ScénarioScenario DidacticielTutorial
    Application webWeb app Pour un nouveau développementFor new development Bien démarrer avec les pages RazorGet started with Razor Pages
    Application webWeb app Pour maintenir une application MVCFor maintaining an MVC app Bien démarrer avec MVCGet started with MVC
    API webWeb API Créer une API web*Create a web API*
    Application en temps réelReal-time app Bien démarrer avec SignalRGet started with SignalR
  2. Suivez un tutoriel qui montre comment exécuter l’accès aux données de base :Follow a tutorial that shows how to do basic data access:

    ScénarioScenario DidacticielTutorial
    Pour un nouveau développementFor new development Pages Razor avec Entity Framework CoreRazor Pages with Entity Framework Core
    Pour maintenir une application MVCFor maintaining an MVC app MVC avec Entity Framework CoreMVC with Entity Framework Core
  3. Lisez une présentation des fonctionnalités d’ASP.NET Core qui s’appliquent à tous les types d’application :Read an overview of ASP.NET Core features that apply to all app types:

  4. Parcourez la Table des matières pour d’autres rubriques qui vous intéressent.Browse the Table of Contents for other topics of interest.

* Il existe un nouveau tutoriel sur l’API web que vous pouvez suivre entièrement dans le navigateur (aucune installation d’IDE locale requise).* There is a new web API tutorial that you follow entirely in the browser, no local IDE installation required. Le code s’exécute dans Azure Cloud Shell, et curl est utilisé à des fins de test.The code runs in an Azure Cloud Shell, and curl is used for testing.

Comment télécharger un exempleHow to download a sample

La plupart des articles et tutoriels contiennent des liens vers des exemples de code.Many of the articles and tutorials include links to sample code.

  1. Téléchargez le fichier zip du référentiel ASP.NET.Download the ASP.NET repository zip file.
  2. Décompressez le fichier Docs-master.zip.Unzip the Docs-master.zip file.
  3. Utilisez l’URL contenue dans l’exemple de lien pour vous aider à naviguer dans l’exemple de répertoire.Use the URL in the sample link to help you navigate to the sample directory.

Directives de préprocesseur dans l’exemple de codePreprocessor directives in sample code

Pour illustrer plusieurs scénarios, les exemples d’applications utilisent les instructions C# #define et #if-#else/#elif-#endif pour compiler et exécuter différentes sections de l’exemple de code de manière sélective.To demonstrate multiple scenarios, sample apps use the #define and #if-#else/#elif-#endif C# statements to selectively compile and run different sections of sample code. Pour ces exemples qui utilisent cette approche, définissez l’instruction #define en haut des fichiers C# pour le symbole associé au scénario que vous souhaitez exécuter.For those samples that make use of this approach, set the #define statement at the top of the C# files to the symbol associated with the scenario that you want to run. Certains exemples exigent que vous définissiez le symbole en haut de plusieurs fichiers afin d’exécuter un scénario.Some samples require setting the symbol at the top of multiple files in order to run a scenario.

Par exemple, la liste des symboles #define suivante indique que les quatre scénarios sont disponibles (un scénario par symbole).For example, the following #define symbol list indicates that four scenarios are available (one scenario per symbol). La configuration actuelle de l’exemple exécute le scénario TemplateCode :The current sample configuration runs the TemplateCode scenario:

#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 :To change the sample to run the ExpandDefault scenario, define the ExpandDefault symbol and leave the remaining symbols commented-out:

#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#) .For more information on using C# preprocessor directives to selectively compile sections of code, see #define (C# Reference) and #if (C# Reference).

Régions dans l’exemple de codeRegions in sample code

Certains exemples d’applications contiennent des sections de code entourées d’instructions C# #region et #endregion.Some sample apps contain sections of code surrounded by #region and #endregion C# statements. Le système de génération de documentation injecte ces régions dans les rubriques de documentation affichées.The documentation build system injects these regions into the rendered documentation topics.

Les noms des régions contiennent généralement le mot « snippet ».Region names usually contain the word "snippet." L’exemple suivant montre une région nommée snippet_FilterInCode :The following example shows a region named snippet_FilterInCode:

#region snippet_FilterInCode
WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .ConfigureLogging(logging =>
        logging.AddFilter("System", LogLevel.Debug)
            .AddFilter<DebugLoggerProvider>("Microsoft", LogLevel.Trace))
            .Build();
#endregion

L’extrait de code C# précédent est référencé dans le fichier Markdown de la rubrique avec la ligne suivante :The preceding C# code snippet is referenced in the topic's markdown file with the following line:

[!code-csharp[](sample/SampleApp/Program.cs?name=snippet_FilterInCode)]

Vous pouvez sans risque ignorer (ou supprimer) les instructions #region et #endregion qui entourent le code.You may safely ignore (or remove) the #region and #endregion statements that surround the code. Ne modifiez pas le code dans ces instructions si vous prévoyez d’exécuter les exemples de scénarios décrits dans la rubrique.Don't alter the code within these statements if you plan to run the sample scenarios described in the topic. N’hésitez pas à modifier le code quand vous testez d’autres scénarios.Feel free to alter the code when experimenting with other scenarios.

Pour plus d’informations, consultez Contribuer à la documentation ASP.NET : extraits de code.For more information, see Contribute to the ASP.NET documentation: Code snippets.

Étapes suivantesNext steps

Pour plus d'informations, reportez-vous aux ressources suivantes :For more information, see the following resources: