Événement
Championnats du monde Power BI DataViz
14 févr., 16 h - 31 mars, 16 h
Avec 4 chances d’entrer, vous pourriez gagner un package de conférence et le rendre à la Live Grand Finale à Las Vegas
En savoir plusCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Note
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 support .NET et .NET Core. Pour la version actuelle, consultez la version .NET 9 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.
De Tom Dykstra, Steve Smith, Stephen Halter et Chris Ross
Une application ASP.NET Core s’exécute avec une implémentation de serveur HTTP in-process. L’implémentation du serveur écoute les requêtes HTTP et les expose à l’application sous forme d’ensemble de fonctionnalités de requêtes composées dans un HttpContext.
ASP.NET Core est fourni avec le serveur Kestrel qui est le serveur HTTP multiplateforme par défaut.
Le serveur Kestrel est l’implémentation de serveur HTTP multiplateforme par défaut. Kestrel offre les meilleures performances et la meilleure utilisation de la mémoire, mais il ne propose pas certaines fonctionnalités avancées de HTTP.sys. Pour plus d’informations, consultez Comparaison entre Kestrel et HTTP.sys dans ce document.
Utilisez Kestrel :
Par lui même, c’est-à-dire en tant que serveur de périphérie traitant les requêtes en provenance directe d’un réseau, notamment d’Internet.
Avec un serveur proxy inverse, comme IIS (Internet Information Services), Nginx ou Apache. Un serveur proxy inverse reçoit les requêtes HTTP en provenance d’Internet et les transmet à Kestrel.
La configuration de l’hébergement, qu’elle soit avec ou sans serveur proxy inverse, est prise en charge.
Pour obtenir Kestrel conseils de configuration et des informations sur l’utilisation de Kestrel dans une configuration de proxy inverse, consultez Kestrel serveur web dans ASP.NET Core.
ASP.NET Core est fourni avec le serveur Kestrel qui est le serveur HTTP multiplateforme par défaut.
Pour plus d’informations sur l’utilisation de Nginx sur Linux en tant que serveur proxy inverse pour Kestrel, consultez Héberger ASP.NET Core sur Linux avec Nginx.
Si vos applications ASP.NET Core sont exécutées sur Windows, HTTP.sys est une alternative à Kestrel. Kestrel est recommandé sur HTTP.sys, sauf si l’application nécessite des fonctionnalités qui ne sont pas disponibles dans Kestrel. Pour plus d’informations, consultez Implémentation du serveur web HTTP.sys dans ASP.NET Core.
HTTP.sys peut également être utilisé pour les applications qui sont exposées seulement à un réseau interne.
Pour obtenir de l’aide sur la configuration de HTTP.sys, consultez Implémentation du serveur web HTTP.sys dans ASP.NET Core.
Le IApplicationBuilder disponible dans la méthode Startup.Configure
expose la propriété ServerFeatures du type IFeatureCollection. Kestrel et HTTP.sys exposent une seule fonctionnalité chacun (IServerAddressesFeature), cependant, des implémentations serveur différentes peuvent exposer des fonctionnalités supplémentaires.
IServerAddressesFeature
permet de déterminer quel est le port lié à l’implémentation serveur au moment de l’exécution.
Si les serveurs intégrés ne répondent pas aux spécifications de l’application, vous pouvez créer une implémentation serveur personnalisée. Le guide OWIN (Open Web Interface pour .NET) montre comment écrire une implémentation basée sur IServer. Seules les interfaces des fonctionnalités utilisées par l’application nécessitent une implémentation, bien qu’au minimum IHttpRequestFeature et IHttpResponseFeature doivent être pris en charge.
Le serveur est lancé lorsque l’environnement de développement intégré (IDE) ou l’éditeur démarre l’application :
Lors du lancement de l’application à partir d’une invite de commandes dans le dossier du projet, dotnet run lance l’application et le serveur (Kestrel et HTTP.sys uniquement). La configuration est spécifiée par l’option -c|--configuration
, qui est définie sur Debug
(par défaut) ou sur Release
.
Un fichier launchSettings.json
fournit une configuration lors du lancement d’une application avec dotnet run
ou avec un débogueur intégré à un outil tel que Visual Studio. Si les profils de lancement sont présents dans un fichier launchSettings.json
, utilisez l’option --launch-profile {PROFILE NAME}
avec la commande dotnet run
, ou sélectionnez le profil dans Visual Studio. Pour plus d’informations, consultez les rubriques dotnet run et Package de distribution de .NET Core.
HTTP/2 est pris en charge avec ASP.NET Core dans les scénarios de déploiement suivants :
†Kestrel propose une prise en charge limitée de HTTP/2 sur Windows Server 2012 R2 et Windows 8.1. La prise en charge est limitée car la liste des suites de chiffrement TLS prises en charge sur ces systèmes d’exploitation est limitée. Un certificat généré à l’aide d’Elliptic Curve Digital Signature algorithme (ECDSA) peut être requis pour sécuriser les connexions TLS.
†Kestrel propose une prise en charge limitée de HTTP/2 sur Windows Server 2012 R2 et Windows 8.1. La prise en charge est limitée car la liste des suites de chiffrement TLS prises en charge sur ces systèmes d’exploitation est limitée. Un certificat généré à l’aide d’Elliptic Curve Digital Signature algorithme (ECDSA) peut être requis pour sécuriser les connexions TLS.
†Kestrel propose une prise en charge limitée de HTTP/2 sur Windows Server 2012 R2 et Windows 8.1. La prise en charge est limitée car la liste des suites de chiffrement TLS prises en charge sur ces systèmes d’exploitation est limitée. Un certificat généré à l’aide d’Elliptic Curve Digital Signature algorithme (ECDSA) peut être requis pour sécuriser les connexions TLS.
Une connexion HTTP/2 doit utiliser la négociation du protocole de la couche d’application (ALPN) et TLS 1.2 ou version ultérieure. Pour plus d’informations, consultez les rubriques qui se rapportent à vos scénarios de déploiement de serveur.
Pour obtenir des conseils sur la création d’une application ASP.NET Core fiable, sécurisée, performante, testable et évolutive, consultez Modèles d’application web d’entreprise. Un exemple complet d’application web de qualité de production qui implémente les modèles est disponible.
Commentaires sur ASP.NET Core
ASP.NET Core est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Événement
Championnats du monde Power BI DataViz
14 févr., 16 h - 31 mars, 16 h
Avec 4 chances d’entrer, vous pourriez gagner un package de conférence et le rendre à la Live Grand Finale à Las Vegas
En savoir plusFormation
Module
Présentation du développement web .NET avec ASP.NET Core - Training
Dans ce module, vous découvrirez le développement web .NET avec ASP.NET Core, notamment ce que c'est et quand l'utiliser.
Certification
Microsoft Certified : Windows Server Hybrid Administrator Associate - Certifications
En tant qu’administrateur Windows Server hybride, vous intégrez des environnements Windows Server à des services Azure et vous gérez Windows Server sur des réseaux locaux.