Cvičení – použití integrovaného middlewaru

Dokončeno

ASP.NET Core obsahuje sadu integrovaných komponent middlewaru, které zpracovávají běžné úlohy, jako je směrování, ověřování a protokolování HTTP. Tyto komponenty můžete použít k přidání funkcí do aplikace bez psaní vlastního middlewaru.

Váš vedoucí týmu vám uložil vytvořit velmi jednoduchý web pro vaši společnost. Na hlavním webu by se měla zobrazit uvítací zpráva a na samostatné /about stránce by se měla zobrazit stručná historie společnosti. Předchozí verze aplikace měla na /history adrese URL historii společnosti, takže je potřeba přesměrovat žádosti z /history na /about pro zachování kompatibility s existujícími odkazy.

K provedení těchto úloh použijete integrovanou MapGet metodu a UrlRewriter middleware.

Vytvoření aplikace v ASP.NET Core

Abyste mohli hrát roli aplikace vašeho týmu, potřebujete aplikaci ASP.NET Core. Pojďme vytvořit novou aplikaci ASP.NET Core pomocí rozšíření C# Dev Kit v editoru Visual Studio Code.

  1. Spusťte editor Visual Studio Code.

  2. Stisknutím kombinace kláves Ctrl+Shift+P otevřete paletu příkazů.

  3. Vyhledejte a vyberte .NET: Nový projekt....

  4. Vyhledejte a vyberte ASP.NET Core Empty.

    Snímek obrazovky palety příkazů s vybranou možností ASP.NET Prázdné jádro

  5. Vyberte nebo vytvořte složku pro nový projekt.

  6. Pojmenujte novou aplikaci MyWebApp.

  7. Vytvořte projekt výběrem možnosti Vytvořit projekt.

  8. Po otevření nového projektu rozbalte Solution Explorer podokno a zobrazte soubory projektu.

Spustit aplikaci

Otestujte aplikaci, abyste měli jistotu, že běží.

  1. V editoru Visual Studio Code stisknutím klávesy F5 sestavte a spusťte aplikaci.

    1. Po zobrazení výzvy vyberte C# jako ladicí program.
    2. Po zobrazení výzvy vyberte C#: MyWebApp [Výchozí konfigurace] jako konfiguraci spuštění, která se má použít.

    Tento příkaz spustí aplikaci a hostuje ji na místním webovém serveru. Otevře se okno prohlížeče a zobrazí se "Hello, World!"

  2. Zavřete okno prohlížeče a aplikaci zastavte stisknutím shift+F5 v editoru Visual Studio Code.

Mapování koncových bodů a přidání přepisovače URL

Teď, když máte funkční aplikaci, přidáme na hlavní stránku uvítací zprávu.

  1. Otevřete soubor Program.cs.

  2. app.MapGet("/", () => "Hello World!"); Na řádku změňte zprávu "Hello World!" na "Vítejte ve společnosti Contoso!".

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

    app.MapGet() mapuje požadavek HTTP GET na zadanou cestu. Tato funkce ASP.NET Core se nazývá směrování koncového bodu. Tento kód přidá do pipeline větev. Pokud je cesta k požadavku /, middleware pro směrování koncových bodů nasměruje požadavek na tento koncový bod, který pak do odpovědi zapíše "Vítejte ve společnosti Contoso!".

  3. Na další řádek přidejte následující kód:

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

    Tento kód přidá další koncový bod. Pokud je /aboutcesta požadavku, koncový bod na odpověď napíše "Naše společnost byla založena v roce 2000".

  4. Před první app.MapGet()přidejte následující kód:

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

    Tento kód přidá komponentu middlewaru pro přepsání adresy URL, která přesměruje požadavky od /history na /about. Metoda AddRedirect() má dva parametry: vzor regulárního výrazu, který odpovídá cestě požadavku, a náhradní cestu, na kterou se má přesměrovat.

  5. Na začátek souboru přidejte následující direktivu:

    using Microsoft.AspNetCore.Rewrite;
    

    Tato direktiva řeší odkaz na RewriteOptions třídu.

Otestování změn

  1. Uložte všechny změny a spusťte aplikaci jako předtím.
  2. Po otevření okna prohlížeče si všimněte, že kořenová adresa URL zobrazí "Vítá vás Contoso!". Přidejte /about na adresu URL a stiskněte Enter. Prohlížeč by měl zobrazit "Contoso byl založen v roce 2000".
  3. Nahraďte /about za /history v adrese URL a stiskněte klávesu Enter. Prohlížeč by měl přesměrovat na /about.
  4. Nechte aplikaci spuštěnou pro další cvičení.