Exercice – Utiliser les intergiciels intégrés

Effectué

ASP.NET Core inclut un ensemble de composants intergiciels intégrés qui gèrent des tâches courantes, telles que le routage, l’authentification et la journalisation HTTP. Vous pouvez utiliser ces composants pour ajouter des fonctionnalités à votre application sans écrire d’intergiciel personnalisé.

Votre équipe vous a chargé de créer un site web rudimentaire pour votre entreprise. Le site web doit montrer un message de bienvenue sur la page principale et une courte présentation de l’histoire de l’entreprise sur une page /about distincte. Sur une version précédente de l’application, l’URL de l’histoire de l’entreprise était /history. Vous devez donc rediriger les demandes de /history vers /about pour maintenir une compatibilité avec les liens existants.

Vous allez utiliser la méthode MapGet intégrée et l’intergiciel UrlRewriter pour accomplir ces tâches.

Créer une application ASP.NET Core

Vous avez besoin d’une application ASP.NET Core pour jouer le rôle de l’application de votre équipe. Créons une application ASP.NET Core à l’aide de l’extension C# Dev Kit dans Visual Studio Code.

  1. Lancer Visual Studio Code.

  2. Appuyez sur Ctrl+Maj+P pour ouvrir la palette de commandes.

  3. Recherchez et sélectionnez .NET : Nouveau projet....

  4. Recherchez et sélectionnez ASP.NET Core Empty.

    Capture d’écran de la palette de commandes avec ASP.NET Core Empty sélectionné.

  5. Sélectionnez ou créez un dossier pour le nouveau projet.

  6. Nommez la nouvelle application MyWebApp.

  7. Sélectionnez Créer un projet pour créer le projet.

  8. Lorsque le nouveau projet s’ouvre, développez le volet Solution Explorer pour afficher les fichiers projet.

Exécuter l’application

Testez l’application pour vous assurer qu’elle s’exécute.

  1. Dans Visual Studio Code, appuyez sur F5 pour générer et exécuter l’application.

    1. Lorsque vous y êtes invité, sélectionnez C# comme débogueur.
    2. Lorsque vous y êtes invité, sélectionnez C# : MyWebApp [Configuration par défaut] comme configuration de lancement à utiliser.

    Cette commande démarre l’application et l’héberge sur un serveur web local. Une fenêtre de navigateur s’ouvre et affiche : « Hello, World ! »

  2. Fermez la fenêtre du navigateur et arrêtez l’application en appuyant sur Maj+F5 dans Visual Studio Code.

Mapper des points de terminaison et ajouter une réécriture d’URL

Maintenant que vous disposez d’une application opérationnelle, nous allons ajouter un message de bienvenue dans la page principale.

  1. Ouvrez le fichier Program.cs .

  2. Sur la ligne app.MapGet("/", () => "Hello World!");, remplacez le message « Hello World ! » par « Bienvenue dans Contoso ! »

    app.MapGet("/", () => "Welcome to Contoso!");
    

    app.MapGet() mappe une requête HTTP GET à un chemin d’accès spécifié. Cette fonctionnalité de ASP.NET Core est appelée routage de point de terminaison. Ce code ajoute une branche au pipeline. Si le chemin de la requête est /, l’intergiciel de routage de point de terminaison achemine la requête vers ce point de terminaison, qui écrit ensuite « Bienvenue dans Contoso ! » dans la réponse.

  3. Sur la ligne suivante, ajoutez le code suivant :

    app.MapGet("/about", () => "Contoso was founded in 2000.");
    

    Ce code ajoute un autre point de terminaison. Si le chemin de la requête est /about, le point de terminaison écrit « Notre entreprise a été fondée en 2000 » dans la réponse.

  4. Avant le premier app.MapGet(), ajoutez le code suivant :

    app.UseRewriter(new RewriteOptions().AddRedirect("history", "about"));
    

    Ce code ajoute un composant intergiciel de réécriture d’URL qui redirige les requêtes de /history vers /about. La méthode AddRedirect() prend deux paramètres : un modèle d’expression régulière pour correspondre au chemin de la requête et le chemin de remplacement vers lequel rediriger.

  5. Ajoutez la directive suivante en haut du fichier :

    using Microsoft.AspNetCore.Rewrite;
    

    Cette directive résout la référence à la classe RewriteOptions.

Tester les modifications

  1. Enregistrez toutes vos modifications et exécutez l’application comme avant.
  2. Lorsque la fenêtre du navigateur s’ouvre, notez que l’URL racine affiche « Bienvenue dans Contoso ! » Ajoutez /about à l’URL et appuyez sur Entrée. Le navigateur devrait afficher « Contoso a été fondé en 2000 ».
  3. Remplacez /about par /history dans l’URL, puis appuyez sur Entrée. Le navigateur devrait rediriger vers /about.
  4. Laissez l’application en cours d’exécution pour le prochain exercice.