Gyakorlat – ASP.NET Core-webalkalmazás-projekt létrehozása sablonból
Ebben a gyakorlatban a következőket fogja végrehajtani:
- Hozzon létre egy ASP.NET Core-webalkalmazás-projektet egy sablonból.
- Vizsgálja meg a létrehozott projekt struktúráját.
ASP.NET Core-webalkalmazás létrehozása sablonnal
A Visual Studio Code-ban hozzon létre egy új projektet:
Válassza ki az Explorer nézetet:
Válassza a .NET-projekt létrehozása gombot. Másik lehetőségként a CtrlShift+billentyűkombinációval+ is létrehozhatja a parancskatalógust, majd a
.NETparancs megkereséséhez és kiválasztásához írja be a "" szöveget.
Válassza ki a ASP.NET Core Empty projektsablont a listából.
A Projekt helye párbeszédpanelen hozzon létre egy mappát
MyWebApp, amely a projektet tartalmazza.A Parancspalettában nevezze el a projektet
MyWebApp, a megfelelő nagybetűsítéssel együtt. Ha pontosan ezt a projektnevet használja, fontos gondoskodni arról, hogy az utasításban szereplő kód névterei egyezzenek az Ön nevével.Válassza a Projekt létrehozása lehetőséget a parancskatalógusból.
A projekt szerkezetének vizsgálata
A MyWebApp projektmappa tartalma a Visual Studio Code Explorerben jelenik meg:
Hozzon létre egy új projektet egy terminálból vagy parancssorból:
Váltson arra a könyvtárra (
cd), amely tartalmazni fogja a projektet.Hozzon létre egy ASP.NET Core-webalkalmazást a MyWebApp nevű könyvtárban a .NET CLI parancs futtatásával
dotnet new:dotnet new web -o MyWebAppEgy új ASP.NET Core üres webes projekt jön létre egy MyWebApp nevű könyvtárban.
Az alábbi ábra a parancs szintaxisát ismerteti:
-
dotnet new: .NET CLI-parancs különböző .NET-fejlesztési összetevők létrehozásához sablonok, például projektek, megoldások, kódtárak, konfiguráció és egyéb speciális fájlok alapján. -
web: Egy ASP.NET Core üres webes projekt létrehozásához használt projektsablon, amely nem tartalmaz példatartalmat.webA .NET SDK-ban elérhető számos beépített projektsablon egyike. -
-o: A kimeneti beállítás azt a könyvtárat adja meg, ahol az új projekt létrejön:- Ha a könyvtár nem létezik, a .NET CLI hozza létre.
- A projekt létrehozásának könyvtára az alapértelmezett projektnév, névtér és szerelvénynév (a lefordított kimenet neve).
- Ha a kimeneti beállítás
-o <directory>nincs használatban, akkor a rendszer az aktuális könyvtárat használja.
-
Nyissa meg a MyWebApp projektmappát.
A projekt szerkezetének vizsgálata
A MyWebApp projektmappa tartalma a Visual Studio Code Explorerben jelenik meg:
A következő szakaszok áttekintést nyújtanak az üres ASP.NET Core-projekt fő projektmappáiról és fájljairól:
A MyWebApp.csproj projektfájl
A .csproj projektfájl a következőre szolgál:
- A projekt létrehozásának konfigurálása
- A .NET célverziójának megadása
- Projektfüggőségek kezelése
A .sln megoldásfájl
Ha egy ASP.NET Core-projektet hoz létre vagy nyit meg a Visual Studio Code-ban (a C# Dev Kit kiterjesztéssel), létrehoz egy [projektnév].sln megoldásfájlt. A [projekt neve].sln megoldásfájl egy vagy több kapcsolódó projekt adatait tartalmazza, beleértve a buildinformációkat, a beállításokat és azokat a különböző fájlokat, amelyek nem csak egy adott projekthez vannak társítva.
Az obj mappa
A obj mappa a buildelési rendszer által használt köztes fájlokat tartalmazza, beleértve a forrásfájlokból létrehozott lefordított objektumfájlokat is. A végső buildkimenet a bin buildelési folyamat során létrehozott mappába kerül.
A Properties/launchSettings.json fájl
A Properties/launchSettings.json fájl konfigurációs adatokat tartalmaz az alkalmazás fejlesztés közbeni elindításához. Ezek a beállítások tartalmazzák a applicationUrl tulajdonságot, amely megadja az alkalmazás által használt gyökér URL-címet, például https://localhost:{port}azt, hogy hol {port} van a projekt létrehozásakor hozzárendelt véletlenszerű helyi portszám.
A launchSettings.json fájl a következő konfigurációt tartalmazza:
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5218",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7140;http://localhost:5218",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
A Program.cs fájl
A Program.cs fájl egy ASP.NET Core-alkalmazás belépési pontjaként szolgál, és számos fontos célja van, többek között a következők:
- Gazdagép konfigurálása: Konfigurálja a gazdagépet, beleértve a webkiszolgáló beállítását is.
- Szolgáltatásregisztráció: Szolgáltatásokat ad hozzá az alkalmazás funkcióihoz, például adatbázis-környezeteket, naplózást és speciális szolgáltatásokat adott keretrendszerekhez.
- Köztes szoftverfolyamat konfigurálása: Az alkalmazás kéréskezelési folyamatát köztes szoftverpéldányok sorozataként határozza meg.
- Környezetkonfiguráció: Környezetspecifikus beállítások beállítása a fejlesztéshez, az előkészítéshez és az éles környezethez.
A létrehozott új üres ASP.NET Core-projektben a Program.cs fájl a következő minimális kódot tartalmazza:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
A fájl következő kódsorai előre konfigurált alapértelmezett értékekkel hoznak létre egy WebApplicationBuilder kódot, és létrehozzák az alkalmazást:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
A app.MapGet() metódus közvetlenül definiál egy HTTP GET-kéréseket kezelő végpontot:
app.MapGet("/", () => "Hello World!");
app.MapGet("/"): Meghatározza a HTTP GET-kérés útvonalát. Az / útvonal az alkalmazás gyökér URL-címére küldött kérésekre válaszol. Például http://localhost:{port}/, ahol {port} a projekt létrehozásakor a Tulajdonságok/launchSettings.json fájlban véletlenszerűen hozzárendelt portszám van hozzárendelve.
() => "Hello World!": Egy lambda kifejezés, amely a kéréskezelőként szolgál. Amikor get kérést küld a gyökér URL-címre, a rendszer végrehajtja ezt a lambda kifejezést, és visszaadja a "„Helló világ!” alkalmazás!" sztringet.