Gyakorlat – A webalkalmazás helyi futtatása
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:
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.
- Elindítja az alkalmazást összeállító és futtató .NET CLI-parancsot
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]):
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:
Zárja be a böngészőablakot.
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:
Egy terminálból vagy a parancssorból keresse meg a MyWebApp.csproj fájlt tartalmazó MyWebApp projektkönyvtárat.
Az alkalmazás létrehozása és futtatása a következő paranccsal:
dotnet runA 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.
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!:
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.CreateBuilderProgram.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 sztringetHello 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.