Ćwiczenie — tworzenie projektu aplikacji internetowej ASP.NET Core na podstawie szablonu
W tym ćwiczeniu wykonasz następujące czynności:
- Utwórz projekt aplikacji internetowej platformy ASP.NET Core na podstawie szablonu.
- Zbadaj strukturę utworzonego projektu.
Tworzenie aplikacji internetowej ASP.NET Core przy użyciu szablonu
W programie Visual Studio Code utwórz nowy projekt:
Wybierz widok Eksploratora:
Wybierz przycisk Utwórz projekt .NET. Alternatywnie możesz wyświetlić paletę poleceń przy użyciu +, a następnie wpisać "", aby znaleźć i wybrać +
Wybierz szablon projektu ASP.NET Core Empty z listy.
W oknie dialogowym Lokalizacja projektu utwórz folder o nazwie
MyWebAppzawierający projekt.W palecie poleceń nadaj projektowi
MyWebAppnazwę , w tym dopasowanie liter. Użycie tej dokładnej nazwy projektu jest ważne, aby upewnić się, że przestrzenie nazw dla kodu w tej instrukcji są zgodne z Twoimi.Wybierz pozycję Utwórz projekt z palety poleceń.
Badanie struktury projektu
Zawartość folderu projektu MyWebApp jest wyświetlana w Eksploratorze programu Visual Studio Code:
W terminalu lub wierszu polecenia utwórz nowy projekt:
Przejdź do katalogu (
cd), który będzie zawierać projekt.Utwórz aplikację internetową platformy ASP.NET Core w katalogu o nazwie MyWebApp , uruchamiając polecenie interfejsu wiersza polecenia
dotnet newplatformy .NET:dotnet new web -o MyWebAppNowy pusty projekt internetowy ASP.NET Core jest tworzony w katalogu o nazwie MyWebApp.
Poniżej przedstawiono składnię polecenia:
-
dotnet new: Polecenie interfejsu wiersza polecenia platformy .NET służące do tworzenia różnych artefaktów programistycznych platformy .NET na podstawie szablonów, takich jak projekty, rozwiązania, biblioteki, konfiguracja i inne wyspecjalizowane pliki. -
web: szablon projektu używany do tworzenia pustego projektu internetowego ASP.NET Core, który nie zawiera przykładowej zawartości.webjest jednym z wielu wbudowanych szablonów projektów dostępnych w zestawie .NET SDK. -
-o: Opcja danych wyjściowych określa katalog, w którym jest tworzony nowy projekt:- Jeśli katalog nie istnieje, zostanie utworzony interfejs wiersza polecenia platformy .NET.
- Katalog, w którym jest tworzony projekt, służy jako domyślna nazwa projektu, przestrzeń nazw i nazwa zestawu (nazwa skompilowanych danych wyjściowych).
- Jeśli opcja
-o <directory>danych wyjściowych nie jest używana, używany jest bieżący katalog.
-
Otwórz folder projektu MyWebApp.
Badanie struktury projektu
Zawartość folderu projektu MyWebApp jest wyświetlana w Eksploratorze programu Visual Studio Code:
Poniższe sekcje zawierają omówienie głównych folderów projektu i plików pustego projektu ASP.NET Core:
Plik projektu MyWebApp.csproj
Plik projektu csproj służy do:
- Konfigurowanie sposobu kompilowania projektu
- Określ, która wersja platformy .NET ma być docelowa
- Zarządzanie zależnościami projektu
Plik rozwiązania .sln
Po utworzeniu lub otwarciu projektu ASP.NET Core w programie Visual Studio Code (z rozszerzeniem C# Dev Kit) tworzony jest plik rozwiązania [nazwa projektu].sln . Plik rozwiązania [nazwa projektu].sln zawiera informacje dotyczące co najmniej jednego powiązanego projektu, w tym informacje o kompilacji, ustawienia i wszelkie różne pliki, które nie są skojarzone tylko z jednym konkretnym projektem.
Folder obj
Folder obj zawiera pliki pośrednie, które są używane przez system kompilacji, w tym skompilowane pliki obiektów wygenerowane na podstawie plików źródłowych. Końcowe dane wyjściowe kompilacji są umieszczane w folderze utworzonym bin podczas procesu kompilacji.
Plik Właściwości/launchSettings.json
Plik Properties/launchSettings.json zawiera dane konfiguracji dotyczące sposobu uruchamiania aplikacji podczas programowania. Te ustawienia obejmują applicationUrl właściwość , która określa główny adres URL używany przez aplikację, na przykład https://localhost:{port}, gdzie {port} jest losowym numerem portu lokalnego przypisanym podczas tworzenia projektu.
Plik launchSettings.json zawiera następującą konfigurację:
{
"$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"
}
}
}
}
Plik Program.cs
Plik Program.cs służy jako punkt wejścia dla aplikacji ASP.NET Core i ma kilka kluczowych celów, takich jak:
- Konfiguracja hosta: konfiguruje hosta, w tym konfigurowanie serwera internetowego.
- Rejestracja usługi: dodaje usługi do funkcji aplikacji, takich jak konteksty bazy danych, rejestrowanie i wyspecjalizowane usługi dla określonych struktur.
- Konfiguracja potoku oprogramowania pośredniczącego: definiuje potok obsługi żądań aplikacji jako serię wystąpień oprogramowania pośredniczącego.
- Konfiguracja środowiska: konfiguruje ustawienia specyficzne dla środowiska na potrzeby programowania, przemieszczania i produkcji.
W nowo utworzonym pustym projekcie ASP.NET Core plik Program.cs zawiera następujący minimalny kod:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
Następujące wiersze kodu w tym pliku tworzą WebApplicationBuilder wstępnie skonfigurowane wartości domyślne i kompilują aplikację:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
Metoda app.MapGet() definiuje bezpośrednio punkt końcowy, który obsługuje żądania HTTP GET:
app.MapGet("/", () => "Hello World!");
app.MapGet("/"): definiuje trasę dla żądania HTTP GET. Wskazuje / , że ta trasa odpowiada na żądania wysyłane do głównego adresu URL aplikacji. Na przykład http://localhost:{port}/, gdzie {port} jest losowo przypisanym numerem portu przypisanym w pliku Właściwości/launchSettings.json podczas tworzenia projektu.
() => "Hello World!": wyrażenie lambda, które służy jako procedura obsługi żądań. Po wysłaniu żądania GET do głównego adresu URL to wyrażenie lambda jest wykonywane i zwraca ciąg "Hello World!"