asp.net-core Samouczek
Rozpoczęcie pracy z asp.net-core
Szukaj…
Uwagi
.NET Core to platforma programistyczna ogólnego zastosowania obsługiwana przez Microsoft i społeczność .NET na GitHub. Jest wieloplatformowy, obsługuje systemy Windows, macOS i Linux, i może być używany w scenariuszach urządzeń, chmury i osadzonych / IoT.
Następujące cechy najlepiej definiują .NET Core:
- Elastyczne wdrażanie: może być zawarte w aplikacji lub instalowane równolegle na poziomie użytkownika lub maszyny.
- Wieloplatformowy: Działa w systemach Windows, macOS i Linux; można przenieść na inne systemy operacyjne. Obsługiwane systemy operacyjne (OS), procesory i scenariusze aplikacji będą z czasem rosnąć, dostarczane przez Microsoft, inne firmy i osoby fizyczne.
- Narzędzia wiersza polecenia: Wszystkie scenariusze produktu można wykonywać z wiersza polecenia.
- Kompatybilny: .NET Core jest kompatybilny z .NET Framework, Xamarin i Mono, poprzez - .NET Standard Library.
- Otwarte źródło: platforma .NET Core jest oprogramowaniem typu open source, wykorzystującym licencje MIT i Apache 2. Dokumentacja jest licencjonowana na licencji CC-BY. .NET Core to projekt .NET Foundation.
- Obsługiwane przez Microsoft: .NET Core jest obsługiwany przez Microsoft, zgodnie z .NET Core Support
Wersje
Wersja | Informacje o wydaniu | Data wydania |
---|---|---|
RC1 * | 1.0.0-rc1 | 18.11.2015 |
RC2 * | 1.0.0-rc2 | 2016-05-16 |
1.0.0 | 1.0.0 | 27.06.2016 |
1.0.1 | 1.0.1 | 13.09.2016 |
1.1 | 1.1 | 16.11.2016 |
Instalacja i konfiguracja
Instalowanie programu Visual Studio
Jeśli nie masz zainstalowanego programu Visual Studio, możesz pobrać bezpłatną wersję Visual Studio Community Edition tutaj . Jeśli masz już zainstalowany, możesz przejść do następnego kroku.
Tworzenie aplikacji ASP.NET Core MVC.
- Otwórz Visual Studio.
- Wybierz Plik> Nowy projekt.
- Wybierz Sieć pod wybranym językiem w sekcji Szablony po lewej stronie.
- Wybierz preferowany typ projektu w oknie dialogowym.
- Opcjonalnie: wybierz .NET Framework, na który chcesz kierować reklamy
- Nazwij swój projekt i wskaż, czy chcesz utworzyć Rozwiązanie dla projektu.
- Kliknij OK, aby utworzyć projekt.
Zostanie wyświetlone inne okno dialogowe umożliwiające wybranie szablonu, którego chcesz użyć w projekcie:
Każdy z opisów jest zrozumiały. W przypadku tego pierwszego projektu wybierz opcję Aplikacja internetowa , która będzie zawierać wszystkie domyślne konfiguracje, uwierzytelnianie i niektóre istniejące treści.
Ponieważ jest to aplikacja wprowadzająca i nie wymaga żadnych zabezpieczeń ani uwierzytelniania, możesz zmienić opcję uwierzytelniania na Brak uwierzytelnienia po prawej stronie okna dialogowego i kliknąć OK, aby utworzyć projekt .
Powinieneś wtedy zobaczyć nowy projekt w Eksploratorze rozwiązań:
Naciśnij klawisz F5, aby uruchomić aplikację i rozpocząć sesję debugowania, która uruchomi aplikację w domyślnej przeglądarce:
Teraz możesz zobaczyć, że Twój projekt działa lokalnie i jest gotowy jako punkt wyjścia do zbudowania aplikacji.
Utwórz nowy projekt z wiersza poleceń
Możliwe jest utworzenie nowego projektu ASP.NET Core całkowicie z wiersza poleceń za pomocą polecenia dotnet
.
dotnet new web
dotnet restore
dotnet run
dotnet new web
rusztowania dotnet new web
„pusty” projekt internetowy. Parametr web
mówi narzędziu dotnet
, aby używało ASP.NET Core Empty
szablonu ASP.NET Core Empty
. Użyj dotnet new -all
aby wyświetlić wszystkie aktualnie zainstalowane szablony. Inne kluczowe szablony to console
, classlib
, mvc
i xunit
.
Po rusztowaniu szablonu możesz przywrócić pakiety wymagane do uruchomienia projektu ( dotnet restore
), a także skompilować i uruchomić go ( dotnet run
).
Po uruchomieniu projekt będzie dostępny na domyślnym porcie: http: // localhost: 5000
Minimalne ASP.NET Core Web API z ASP.NET Core MVC
W programie ASP.NET Core 1.0 ramy MVC i Web API zostały połączone w jedną platformę o nazwie ASP.NET Core MVC. To dobrze, ponieważ MVC i Web API mają wiele funkcji, jednak zawsze istniały subtelne różnice i powielanie kodu.
Jednak połączenie tych dwóch ram w jeden z nich utrudniło również ich odróżnienie. Na przykład Microsoft.AspNet.WebApi
reprezentuje strukturę Web API 5.xx, a nie nową. Ale po dołączeniu Microsoft.AspNetCore.Mvc
(wersja 1.0.0
) otrzymujesz pełny pakiet. Będzie on zawierał wszystkie gotowe funkcje oferowane przez platformę MVC. Takie jak Razor, pomocniki tagów i wiązanie modeli.
Gdy chcesz tylko zbudować interfejs API sieci Web, nie potrzebujemy wszystkich tych funkcji. Jak więc zbudować minimalistyczny internetowy interfejs API? Odpowiedź brzmi: Microsoft.AspNetCore.Mvc.Core
. W nowym świecie MVC jest podzielony na wiele pakietów, a ten pakiet zawiera tylko podstawowe elementy frameworka MVC, takie jak routing i autoryzacja.
W tym przykładzie utworzymy minimalny interfejs API MVC. W tym formatyzator JSON i CORS. Utwórz pustą aplikację sieci Web ASP.NET Core 1.0 i dodaj te pakiety do projektu.json:
"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"
Teraz możemy zarejestrować MVC za pomocą AddMvcCore()
w klasie startowej:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddCors()
.AddJsonFormatters();
}
AddMvcCore
zwraca instancję IMvcCoreBuilder
która umożliwia dalsze budowanie. Konfiguracja oprogramowania pośredniego jest taka sama jak zwykle:
public void Configure(IApplicationBuilder app)
{
app.UseCors(policy =>
{
policy.AllowAnyOrigin();
});
app.UseMvc();
}
Kontrolery
„Stary” interfejs API sieci Web ma własną klasę bazową kontrolera: ApiController
. W nowym świecie nie ma czegoś takiego, tylko domyślna klasa Controller
. Niestety jest to dość duża klasa bazowa i jest powiązana z wiązaniem modeli, widokami i JSON.NET.
Na szczęście w nowej strukturze klasy kontrolerów nie muszą pochodzić od Controller
aby zostać przechwyconym przez mechanizm routingu. Wystarczy dodać nazwę do Controller
. To pozwala nam zbudować własną klasę bazową kontrolera. Nazwijmy to ApiController
, na wszelki ApiController
:
/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
[ActionContext]
public ActionContext ActionContext { get; set; }
public HttpContext HttpContext => ActionContext?.HttpContext;
public HttpRequest Request => ActionContext?.HttpContext?.Request;
public HttpResponse Response => ActionContext?.HttpContext?.Response;
public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}
Atrybut [Controller]
wskazuje, że typ lub dowolny typ pochodny jest uważany za kontroler przez domyślny mechanizm wykrywania kontrolera. [ActionContext]
określa, że właściwość powinna być ustawiona z bieżącym ActionContext
gdy MVC tworzy kontroler. ActionContext
zawiera informacje o bieżącym żądaniu.
ASP.NET Core MVC oferuje także klasę
ControllerBase
która zapewnia klasę bazową kontrolera bez obsługi widoków. Jest jednak nadal znacznie większy niż nasz. Użyj go, jeśli uznasz to za wygodne.
Wniosek
Możemy teraz zbudować minimalny interfejs API sieci Web przy użyciu nowego środowiska ASP.NET Core MVC. Modułowa struktura pakietów pozwala nam po prostu pobrać potrzebne pakiety i stworzyć uproszczoną i prostą aplikację.
Wykorzystanie kodu Visual Studio do opracowania aplikacji Core plateform aspnet core
Dzięki AspNetCore możesz rozwijać aplikację na dowolnej platformie, w tym Mac, Linux, Window i Docker.
Instalacja i konfiguracja
- Zainstaluj stąd Visual Studio Code
- Dodaj C # extesnion
- Zainstaluj dot net core sdk. Możesz zainstalować stąd
Teraz masz wszystkie dostępne narzędzia. Aby opracować aplikację. Teraz potrzebujesz opcji rusztowania. W tym celu powinieneś rozważyć użycie Yeoman. Aby zainstalować Yeoman
Zainstaluj NPM. W tym celu potrzebujesz węzła na swoim komputerze. Zainstaluj stąd
Zainstaluj Yeoman za pomocą NPM
npm zainstaluj -g yo
Teraz zainstaluj generator aspnet
npm install -g generator-aspnet
Teraz mamy całą konfigurację na twoim komputerze. Najpierw stwórzmy nowy projekt za pomocą podstawowego polecenia DotNetCore, a następnie utwórz nowy projekt za pomocą Yo.
Nowy projekt za pomocą wiersza polecenia
Utwórz nowy folder projektu
mkdir CoreApplication cd CoreApplication
Rusztuj bardzo prosty projekt dotnet przy użyciu domyślnej opcji wiersza poleceń
dotnet Nowość
Użyj Yeoman jako opcji rusztowania
Utwórz folder projektu i uruchom polecenie Yo
yo aspnet
Yeoman zapyta o dane wejściowe, takie jak typ projektu, nazwa projektu itp
Teraz przywróć pakiety, uruchamiając polecenie dotnet restore i uruchom aplikację
Do opracowania aplikacji użyj kodu VS
Uruchom kod studia wizualnego jak
Teraz otwórz pliki i uruchom aplikację. Możesz także przeszukać rozszerzenie w celu uzyskania pomocy.
Skonfiguruj zmienną środowiskową w programie ASP.NET Core [Windows]
Program ASP.NET Core używa zmiennej środowiskowej ASPNETCORE_ENVIRONMENT
celu ustalenia bieżącego środowiska. Domyślnie, jeśli uruchomisz aplikację bez ustawiania tej wartości, automatycznie przejdzie ona do środowiska Production
.
> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
Hosting environment: Production
Content root path: C:\Projects\TestApp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
Ustawianie zmiennej środowiskowej w systemie Windows
W wierszu poleceń
Możesz łatwo ustawić zmienną środowiskową z wiersza polecenia, używając polecenia setx.exe zawartego w systemie Windows. Możesz go użyć do łatwego ustawienia zmiennej użytkownika:
>setx ASPNETCORE_ENVIRONMENT "Development"
SUCCESS: Specified value was saved.
Zauważ, że zmienna środowiskowa nie jest ustawiona w bieżącym otwartym oknie. Będziesz musiał otworzyć nowy wiersz polecenia, aby zobaczyć zaktualizowane środowisko. Możliwe jest również ustawienie zmiennych systemowych (a nie tylko zmiennych użytkownika), jeśli otworzysz administracyjny wiersz poleceń i dodasz przełącznik / M:
>setx ASPNETCORE_ENVIRONMENT "Development" /M
SUCCESS: Specified value was saved.
Korzystanie z programu PowerShell Alternatywnie możesz użyć programu PowerShell, aby ustawić zmienną. W PowerShell, podobnie jak normalne zmienne użytkownika i systemowe, możesz również utworzyć zmienną tymczasową za pomocą polecenia $Env:
:
$Env:ASPNETCORE_ENVIRONMENT = "Development"
Utworzona zmienna trwa tylko przez czas trwania sesji PowerShell - po zamknięciu okna środowisko powraca do wartości domyślnej.
Alternatywnie można ustawić bezpośrednio zmienne środowiskowe użytkownika lub systemu. Ta metoda nie zmienia zmiennych środowiskowych w bieżącej sesji, dlatego konieczne będzie otwarcie nowego okna programu PowerShell, aby zobaczyć zmiany. Tak jak poprzednio, zmiana zmiennych systemowych (maszynowych) będzie wymagała dostępu administracyjnego
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")
Korzystanie z panelu sterowania systemu Windows Jeśli nie jesteś fanem wiersza poleceń, możesz łatwo zaktualizować zmienne za pomocą myszy! Kliknij przycisk menu Start systemu Windows (lub naciśnij klawisz Windows), wyszukaj environment variables
i wybierz Edytuj środowisko zmienne dla twojego konta:
Wybranie tej opcji spowoduje otwarcie okna dialogowego Właściwości systemu
Kliknij Zmienne środowiskowe, aby wyświetlić listę bieżących zmiennych środowiskowych w systemie.
Zakładając, że nie masz jeszcze zmiennej o nazwie ASPNETCORE_ENVIRONMENT
, kliknij przycisk Nowy ... i dodaj nową zmienną środowiskową konta: Kliknij przycisk OK, aby zapisać wszystkie zmiany. Będziesz musiał ponownie otworzyć wszystkie okna poleceń, aby upewnić się, że załadowane są nowe zmienne środowiskowe.