Fonctionnalités principales d’ASP.NET
8 min read
Introduction
Salut les lecteurs ! J’espère que vous passerez tous un bon moment. Après avoir présenté votre contenu sur .netcoreinterviewquestions, sqlinterviewquestions, c#partialclasses, MVC et l’application cellular, nous allons maintenant nous concentrer sur les dernières fonctionnalités avancées d’ASP.netcore. Il aidera les développeurs ayant des connaissances fondamentales pour développer des programs ASP.Web Main, ainsi que l’injection de dépendance (DI), la configuration, le middleware et d’autres fonctionnalités.
i) Utilisation de l’injection de dépendance (solutions)
ASP.Net Core contient une injection de dépendance (DI) qui rend les companies configurés accessibles dans une application spécifique. Les expert 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 report pour en savoir in addition sur l’injection de dépendance MVC, voici l’article officiel de Microsoft lien pour en savoir as well as 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 System.cs
ASP.Web Les apps principales développées avec les modèles Net possèdent le code de démarrage de l’application dans le Programme.cs file. 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 products and services souhaités par l’application sont bien configurés.
Le code de démarrage d’application suivant prend en charge :
- Webpages de rasoir
- Contrôleurs MVC avec vues
- API Net minimales
- API World-wide-web avec contrôleur
iv) Hôte
Au début, une application ASP.Internet Main 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 solutions DI et une configuration fluide.
Généralement, il existe 3 styles d’hôtes disponibles.
- Hôte d’application Web .Internet (hôte minimum)
- Hébergeur Website ASP.Net Main
- Hôte générique .Web
L’hôte d’application Web .Web est souvent utilisé dans tous les modèles d’ASP.Web Main. L’hôte générique .Internet et l’hôte d’application World wide web .Web partagent de nombreux modèles des mêmes lessons et interfaces. L’hôte World-wide-web ASP.Net Main est accessible uniquement pour la comparaison en amont.
L’exemple suivant lance un hôte d’application Web :
La ‘WebApplicationBuilder.Establish‘ 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 Net 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 apps.
V) Serveurs
Un serveur HTTP est utilisé dans l’application ASP.Internet 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.Web Main fournit les implémentations suivantes du serveur.
- ‘Serveur IISHTTP‘pour Windows utilise IIS. Sur ce serveur, l’application ASP.Web Main et IIS s’exécutent selon une procédure similaire.
- Crécerelle, une multiplateforme serveur Website, s’exécute dans une configuration de proxy inverse utilisant IIS. Dans ASP.NETCoreversion2. ou la dernière variation, Kestrel peut être exploité en tant que serveur périphérique general public révélé directement sur Net.
- HTTP.sys est un serveur particulier pour Windows qui n’est pas utilisé avec IIS.
Vi) Cadre de configuration
ASP.Net Main 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 resources, 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 purposes ASP.Net Main sont configurées pour la lecture à partir de ‘appsettings.json’, la ligne de commande et les variables d’environnement, etcetera. 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 Main facilite le gestionnaire de secrets. Pour la génération de strategies, Azure Critical Vault est recommandé.
vii) Environnements
Dans ASP.Web Main, des environnements d’exécution ou de effectiveness, tels que la building, 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 software en cours d’exécution. Cette variable d’environnement est bien lue par ASP.Web Core au démarrage de l’application et la valeur est stockée dans l’implémentation d’un ‘IWebHostEnvironment’. Cette implémentation est available n’importe où dans une software by using l’injection de dépendances (DI).
Dans l’exemple suivant, sachez configurer le contrôleur d’exception et le middleware HSTS (HTTP Demanding Transport Stability Protocol) lorsqu’ils ne sont pas exécutés dans l’environnement de développement :
VIII) Journalisation
ASP.Web Main 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 Application Service, TraceSource et Azure Application Insights
Résolvez un support ‘ILogger
IX) Routage
Une route est une framework d’URL mappée à un contrôleur. Le contrôleur est généralement une web site Razor, une procédure d’action dans le middleware ou un contrôleur MVC. Le routage ASP.Net Main vous permet de gérer les URL utilisées par votre software.
Le code suivant, créé par le modèle d’application Website ASP.Net Main, appelle « UseRouting » :
X) Gestion des erreurs
ASP.Internet Core possède des fonctionnalités intégrées pour contrôler les erreurs, telles qu’une web page d’exception de développeur, des webpages de code d’état statique, des web 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 scenarios. L’usine effectue les opérations suivantes.
- Rend une zone centrale pour nommer et configurer des cases logiques de Customer HTTP. Par exemple, enregistrez et configurez un customer GitHub spécifique pour accéder à GitHub. À d’autres fins, enregistrez et configurez un customer 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 framework 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 situations sous-jacentes ‘HttpClientHandler‘ pour éviter les erreurs DNS authentiques qui se produisent lors du contrôle manuel de HttpClientlifetimes.
- Se incorporate avec une bibliothèque tierce “Polly” pour le contrôle des erreurs transitoires.
- Inclut des connaissances de journalisation configurables by means of ‘ILogger‘ pour toutes les requêtes transmises by means of des shoppers é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 file.
- 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 second 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 Net
La racine Internet est le chemin principal des fichiers de ressources publics et statiques, notamment les feuilles de type (.css), les illustrations or photos (.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 Internet serait racine de contenu/wwwracine) par défaut. Au instant de créer l’hôte, mentionnez simplement une autre racine Net en écrivant son chemin.
Vous pouvez limiter la publication de fichiers dans wwwroot by means of l’« élément de projet
Dans Razor’.cshtml‘, ~/ fait référence à la racine World wide 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, and so on., du noyau ASP.internet. Les développeurs pourront développer les meilleures apps de foundation ASP.web 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.