Gyakorlat – A webalkalmazás helyi futtatása

Befejeződött

Ebben a gyakorlatban a következőket fogja végrehajtani:

  • Futtassa helyileg a webalkalmazást, és tekintse meg egy böngészőben.
  • Tekintse át a webalkalmazás kézbesítési módját.

A webalkalmazás futtatása és megtekintése böngészőben

Futtassa a webalkalmazást a Visual Studio Code-ban, és tekintse meg a böngészőben:

  1. A Visual Studio Code-ban nyomja le az F5 billentyűt az alkalmazás futtatásához.

    Visual Studio Code:

    • Elindítja az alkalmazást összeállító és futtató .NET CLI-parancsot dotnet run .
    • Csatolja a hibakeresőt a futó alkalmazáshoz.

    Amikor a projekt első alkalommal fut a Visual Studio Code-ban, megjelenik a Hibakereső kiválasztása kérdés.

  2. A Visual Studio Code felhasználói felületének tetején található parancskatalógusBan válassza a Hibakereső kiválasztása parancssorban a C# lehetőséget. A következő üzenetben válassza ki az alapértelmezett indítási konfigurációt (C#: MyWebApp [Default Configuration]):

    Képernyőkép a Parancspalettában a Hibakereső kiválasztása opció kiválasztásáról.

    Az alapértelmezett böngésző ekkor http://localhost:{PORT}indul el, amely megjeleníti az alkalmazás válaszát. A {PORT} helyőrző az alkalmazáshoz rendelt véletlenszerű port az alkalmazás projektjének létrehozásakor. Ha helyi portütközés miatt módosítania kell a portot, módosítsa a portot a projekt Tulajdonságok/launchSettings.json fájljában.

    A böngészőben megjelenő válasz:

    Képernyőkép a szövegkimenetet megjelenítő böngészőről.

  3. Zárja be a böngészőablakot.

  4. A Visual Studióban a következők valamelyike:

    • A Futtatás menüben válassza a Hibakeresés leállítása lehetőséget.
    • Nyomja le a Shift+F5 billentyűkombinációt a billentyűzeten.

Futtassa a webalkalmazást a .NET parancssori felülettel:

  1. Egy terminálból vagy a parancssorból keresse meg a MyWebApp.csproj fájlt tartalmazó MyWebApp projektkönyvtárat.

  2. Az alkalmazás létrehozása és futtatása a következő paranccsal:

    dotnet run
    

    A projekt felépítése, futtatása és a következő kimenet megjelenítése a parancssorban:

    C:\MyWebApp> dotnet run
    Building...
    info: Microsoft.Hosting.Lifetime[14]
            Now listening on: http://localhost:5267
    info: Microsoft.Hosting.Lifetime[0]
            Application started. Press Ctrl+C to shut down.
    

    Mivel a megadott URL-cím portszáma véletlenszerűen van beállítva a konfigurációban a projekt létrehozásakor, előfordulhat, hogy a végpont eltérő portszámmal rendelkezik.

  3. Nyisson meg egy böngészőt a saját parancssori kimenetén létrehozott URL-címre. Ekkor megjelenik az alkalmazás válasza Hello World! :

    Képernyőkép a szövegkimenetet megjelenítő böngészőről.

  4. Az alkalmazás leállításához nyomja le a Ctrl+C billentyűkombinációt a parancssorban.

A webalkalmazás kézbesítésének menete

Az alkalmazás létrehozása és futtatásakor a következő lépések történnek:

Build és konfiguráció:

  • A rendszer meghívja az MSBuild függvényt a függőségek visszaállítására és a projekt fordítására. Az MSBuild feldolgozza a MyWebApp.csproj projektfájlt, és összeállítja a forráskódot egy szerelvénybe.
  • Az alkalmazás beolvassa a konfigurációs beállításokat, beleértve az alapértelmezett indítási profil launchSettings.json megadott beállításait (az elsőt).

Gazdagép beállítása:

  • A WebApplication.CreateBuilder Program.cs metódusa beállítja a webes gazdagépet. Ez a módszer alapértelmezés szerint webkiszolgálóként konfigurálja a Kestrelt. A Kestrel egy platformfüggetlen webkiszolgáló ASP.NET Core számára, amelyet nagy teljesítményre terveztek.
  • A Kestrel elkezdi figyelni a bejövő HTTP-kéréseket a konfigurált URL-címeken, beleértve a HTTPS-t is, ha meg van adva.

Kérelmek kezelése:

  • Amikor egy kérés érkezik, a Kestrel továbbítja azt a ASP.NET Core köztesszoftver-folyamatnak.
  • A köztes szoftver folyamat több köztes szoftverösszetevőn keresztül dolgozza fel a kérést, amely képes kezelni az olyan feladatokat, mint a hitelesítés, a naplózás és az útválasztás.
  • Ha a kérelem egy megadott útvonalnak felel meg, a rendszer végrehajtja a megfelelő végpontot. Ebben az esetben a végpont kezeli a app.MapGet("/", () => "Hello World!") gyökér URL-címre irányuló kéréseket, és visszaadja a sztringet Hello World!.

Válasz:

  • A válasz, amely ebben az esetben a "„Helló világ!” alkalmazás!" sztring, a rendszer a köztes szoftver folyamatán keresztül küldi vissza a Kestrelnek, majd visszaküldi az ügyfélnek.