Fonctionnalités principales d'ASP.NET

Fonctionnalités principales d'ASP.NET

Introduction

Salut les lecteurs ! J’espère que vous passerez tous un bon moment. Après avoir présenté votre contenu sur .netcoreinterviewquestions, questions d’entretien sql, c#partialclasses, MVC, et application mobile, nous allons maintenant nous concentrer sur les dernières avancées Fonctionnalités ASP.netcore. Il aidera les développeurs ayant des connaissances fondamentales pour développer des applications ASP.NET Core, ainsi que dépendanceinjection (DI), configuration, middleware et autres fonctionnalités.

i) Utilisation de l’injection de dépendance (services)

ASP.NET Core contient une injection de dépendance (DI) qui rend les services configurés accessibles dans une application spécifique. Les services sont inclus avec le conteneur DI avec ‘WebApplicationBuilder.Services’ builder.Services dans le code précieux. Divers ‘services fournis par le framework’ sont inclus lorsque le ‘WebApplicationBuilder’ est lancé. Ici, ‘builder’ est un ‘WebApplicationBuilder’ dans le code. Voici un article pour en savoir plus sur MVCInjection de dépendancevoici Microsoft officiel lien pour en savoir plus sur l’injection de dépendances.

ii) Intergiciel

Le pipeline de contrôle des demandes est organisé comme une chaîne d’éléments middleware. Chaque élément effectue des opérations sur un ‘HttpContext’ et rassemble le middleware suivant dans le pipeline ou rejette la demande.

Par modèle, un élément middleware est inclus dans le pipeline en rassemblant une procédure d’extension ‘UseFeature’. Le middleware connecté à l’application est mis en évidence par le code suivant :

iii) Utilisation du fichier Program.cs

ASP.NET Les applications principales développées avec les modèles Web possèdent le code de démarrage de l’application dans le Programme.cs dossier. La ‘Programme.cs‘ est l’endroit où le pipeline de contrôle des demandes de l’application est bien expliqué sous la forme d’une liste de composants middleware.

et les services souhaités par l’application sont bien configurés.

Le code de démarrage d’application suivant prend en charge :

  • Pages de rasoir
  • Contrôleurs MVC avec vues
  • API Web minimales
  • API Web avec contrôleur

iv) Hôte

Au début, une application ASP.NET Core construit un ‘HOST’. L’hôte a intégré des ressources d’application entières, telles que des éléments middleware, une mise en place de serveur HTTP, la journalisation, des services DI et une configuration fluide.

Généralement, il existe 3 types d’hôtes disponibles.

  1. Hôte d’application Web .NET (hôte minimal)
  2. Hébergeur Web ASP.NET Core
  3. Hôte générique .NET

L’hôte d’application Web .NET est souvent utilisé dans tous les modèles d’ASP.NET Core. L’hôte générique .NET et l’hôte d’application Web .NET partagent de nombreux modèles des mêmes classes et interfaces. L’hôte Web ASP.NET Core est accessible uniquement pour la comparaison en amont.

L’exemple suivant lance un hôte d’application Web :

La ‘WebApplicationBuilder.Build‘ configure un hôte spécifique avec un ensemble de choix par défaut comme suit :

  • Chargement de la configuration à partir des variables d’environnement, ‘appsettings.json‘, les sources de configuration et les arguments de ligne de commande
  • Utilisation de Kestrel comme serveur Web et activation de l’intégration IIS
  • Envoi des résultats de journalisation à la console et aux fournisseurs de débogage.

L’hôte générique permet à d’autres catégories d’applications d’utiliser des extensions de framework transversales, telles que la journalisation, la configuration, l’injection de dépendances (DI) et la gestion de la durée de vie des applications.

V) Serveurs

Un serveur HTTP est utilisé dans l’application ASP.NET Core pour gérer les requêtes HTTP. Le serveur HTTP transmet les requêtes à l’application sous la forme d’un ensemble de composants de requête composés dans un “HttpContext”. Certains serveurs sont Windows, macOS et Linux.

ASP.NET Core fournit les implémentations suivantes du serveur.

  • Serveur IISHTTP‘pour Windows utilise IIS. Sur ce serveur, l’application ASP.NET Core et IIS s’exécutent selon une procédure similaire.
  • Crécerelle, une multiplateforme serveur Web, s’exécute dans une configuration de proxy inverse utilisant IIS. Dans ASP.NETCoreversion2.0 ou la dernière version, Kestrel peut être exploité en tant que serveur périphérique public révélé directement sur Internet.
  • HTTP.sys est un serveur particulier pour Windows qui n’est pas utilisé avec IIS.

Vi) Cadre de configuration

ASP.NET Core restitue une infrastructure de configuration qui définit les paramètres sous forme de paires nom-valeur à partir d’un ensemble ordonné spécifique de fournisseurs de configuration. Les fournisseurs de configuration intégrée sont accessibles pour différentes sources, telles que les fichiers .xml, les fichiers .json, les arguments de ligne de commande et les variables d’environnement.

Vous pouvez également créer vos fournisseurs de configuration pour aider d’autres sources.

Généralement, les applications ASP.NET Core sont configurées pour la lecture à partir de ‘appsettings.json’, la ligne de commande et les variables d’environnement, etc. Lorsque la configuration de l’application est chargée, les valeurs obtenues à partir des variables d’environnement remplacent les valeurs reçues de ‘ appsettings.json’.

Pour gérer les informations de configuration confidentielles telles que les mots de passe, .NET Core facilite le gestionnaire de secrets. Pour la génération de secrets, Azure Key Vault est recommandé.

vii) Environnements

Dans ASP.NET Core, des environnements d’exécution ou de performance, tels que la construction, la mise en scène et la création, sont disponibles. Définissez la variable d’environnement ‘ASPNETCORE_ENVIRONMENT’ pour mentionner l’environnement d’une application en cours d’exécution. Cette variable d’environnement est bien lue par ASP.NET Core au démarrage de l’application et la valeur est stockée dans l’implémentation d’un ‘IWebHostEnvironment’. Cette implémentation est accessible n’importe où dans une application via l’injection de dépendances (DI).

Dans l’exemple suivant, sachez configurer le contrôleur d’exception et le middleware HSTS (HTTP Strict Transport Security Protocol) lorsqu’ils ne sont pas exécutés dans l’environnement de développement :

VIII) Journalisation

ASP.NET Core assiste une API de journalisation qui fonctionne avec différents fournisseurs de journalisation intégrés et tiers.

Les fournisseurs de journalisation incluent la console, le suivi des événements sur Windows, le débogage, le journal des événements Windows, Azure App Service, TraceSource et Azure Application Insights

Résolvez un service ‘ILogger‘ à partir de l’injection de dépendances pour développer des journaux et des procédures de journalisation des appels telles que ‘LogInformation’, par exemple :

IX) Routage

Une route est une structure d’URL mappée à un contrôleur. Le contrôleur est généralement une page Razor, une procédure d’action dans le middleware ou un contrôleur MVC. Le routage ASP.NET Core vous permet de gérer les URL utilisées par votre application.

Le code suivant, créé par le modèle d’application Web ASP.NET Core, appelle « UseRouting » :

X) Gestion des erreurs

ASP.NET Core possède des fonctionnalités intégrées pour contrôler les erreurs, telles qu’une page d’exception de développeur, des pages de code d’état statique, des pages d’erreur personnalisées et le contrôle des exceptions de démarrage.

XI) Faire des requêtes HTTP

Une demande de ‘IHttpClientFactory‘ est accessible pour générer Client HTTP instances. L’usine effectue les opérations suivantes.

  • Rend une zone centrale pour nommer et configurer des instances logiques de Client HTTP. Par exemple, enregistrez et configurez un client GitHub spécifique pour accéder à GitHub. À d’autres fins, enregistrez et configurez un client par défaut.
  • Aide à l’enregistrement et à l’enchaînement de divers contrôleurs délégués pour développer un pipeline middleware sortant de demandes. Cette structure est similaire au pipeline middleware entrant d’ASP.NETCore. Ce modèle fournit un mécanisme pour gérer les intérêts transversaux des requêtes HTTP, y compris la mise en cache, le contrôle des erreurs, la journalisation et la sérialisation.
  • Contrôle le regroupement et la durée des instances sous-jacentes ‘HttpClientHandler‘ pour éviter les erreurs DNS authentiques qui se produisent lors du contrôle manuel de HttpClientlifetimes.
  • Se combine avec une bibliothèque tierce “Polly” pour le contrôle des erreurs transitoires.
  • Inclut des connaissances de journalisation configurables via ‘ILogger‘ pour toutes les requêtes transmises via des clients établis par l’usine.

XII) Racine de contenu

La racine du contenu est le chemin principal pour ce qui suit.

  • Le fichier exécutable pour héberger l’application (.EXE).
  • Le Webroot, généralement le wwwracine dossier.
  • Assemblages compilés qui constituent l’application (.dll).
  • Les fichiers de contenu utilisés par l’application, tels que les fichiers Razor (.cshtml.le rasoir), Fichiers de données (.db) et Fichiers de configuration (.json, .xml).

Au moment du développement, la racine du contenu dirige par défaut vers le répertoire racine du projet. Ce répertoire est également le chemin d’accès principal des fichiers de contenu de l’application et du Webroot. Définissez son chemin pour mentionner une racine de contenu distincte lors du développement de l’hôte.

XIII) Racine Web

La racine Web est le chemin principal des fichiers de ressources publics et statiques, notamment les feuilles de style (.css), les images (.png, .jpg) et JavaScript (.js).

Généralement, les fichiers statiques sont fournis uniquement à partir du répertoire de racine Web et ses sous-répertoires. Le chemin racine Web serait racine de contenu/wwwracine) par défaut. Au moment de créer l’hôte, mentionnez simplement une autre racine Web en écrivant son chemin.

Vous pouvez limiter la publication de fichiers dans wwwroot via l’« élément de projet » dans ce fichier de projet. L’exemple suivant a montré comment restreindre la publication de contenu dans le répertoire ‘wwwroot/local‘ et ses sous-répertoires :

Dans Razor’.cshtml‘, ~/ fait référence à la racine Web. Un chemin commençant par ~/ est déterminé comme un chemin virtuel.

Emballer

J’espère que l’article ci-dessus donnera une idée précieuse des diverses dernières fonctionnalités telles que les middle ware et les injections de dépendances, etc., du noyau ASP.net. Les développeurs pourront développer les meilleures applications de base ASP.net compétitives par rapport aux autres langages de programmation. Les développeurs apprécieront certainement l’environnement de développement avec ces nouvelles fonctionnalités.

Leave a Reply