Cvičení – použití integrovaného middlewaru
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.
Spusťte editor Visual Studio Code.
Stisknutím kombinace kláves Ctrl+Shift+P otevřete paletu příkazů.
Vyhledejte a vyberte .NET: Nový projekt....
Vyhledejte a vyberte ASP.NET Core Empty.
Vyberte nebo vytvořte složku pro nový projekt.
Pojmenujte novou aplikaci MyWebApp.
Vytvořte projekt výběrem možnosti Vytvořit projekt.
Po otevření nového projektu rozbalte
Solution Explorerpodokno a zobrazte soubory projektu.
Spustit aplikaci
Otestujte aplikaci, abyste měli jistotu, že běží.
V editoru Visual Studio Code stisknutím klávesy F5 sestavte a spusťte aplikaci.
- Po zobrazení výzvy vyberte C# jako ladicí program.
- 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!"
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.
Otevřete soubor Program.cs.
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!".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".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
/historyna/about. MetodaAddRedirect()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.Na začátek souboru přidejte následující direktivu:
using Microsoft.AspNetCore.Rewrite;Tato direktiva řeší odkaz na
RewriteOptionstřídu.
Otestování změn
- Uložte všechny změny a spusťte aplikaci jako předtím.
- Po otevření okna prohlížeče si všimněte, že kořenová adresa URL zobrazí "Vítá vás Contoso!". Přidejte
/aboutna adresu URL a stiskněte Enter. Prohlížeč by měl zobrazit "Contoso byl založen v roce 2000". - Nahraďte
/aboutza/historyv adrese URL a stiskněte klávesu Enter. Prohlížeč by měl přesměrovat na/about. - Nechte aplikaci spuštěnou pro další cvičení.