asp.net-core Tutorial
Erste Schritte mit asp.net-core
Suche…
Bemerkungen
.NET Core ist eine allgemeine Entwicklungsplattform, die von Microsoft und der .NET-Community auf GitHub verwaltet wird. Es ist plattformübergreifend, unterstützt Windows, Mac OS und Linux und kann in Geräte-, Cloud- und Embedded / IoT-Szenarien verwendet werden.
Die folgenden Merkmale definieren .NET Core am besten:
- Flexible Bereitstellung: Kann in Ihre App aufgenommen oder neben- oder maschinenweit installiert werden.
- Plattformübergreifend: Läuft unter Windows, Mac OS und Linux; kann auf andere Betriebssysteme portiert werden. Die unterstützten Betriebssysteme, CPUs und Anwendungsszenarien werden im Laufe der Zeit von Microsoft, anderen Unternehmen und Einzelpersonen bereitgestellt.
- Befehlszeilentools: Alle Produktszenarien können über die Befehlszeile ausgeführt werden.
- Kompatibel: .NET Core ist über die .NET-Standardbibliothek mit .NET Framework, Xamarin und Mono kompatibel.
- Open Source: Die .NET Core-Plattform ist Open Source und verwendet MIT- und Apache 2-Lizenzen. Die Dokumentation ist unter CC-BY lizenziert. .NET Core ist ein .NET Foundation-Projekt.
- Unterstützt von Microsoft: .NET Core wird von Microsoft pro .NET Core-Support unterstützt
Versionen
Ausführung | Versionshinweise | Veröffentlichungsdatum |
---|---|---|
RC1 * | 1.0.0-rc1 | 2015-11-18 |
RC2 * | 1.0.0-rc2 | 2016-05-16 |
1.0.0 | 1.0.0 | 2016-06-27 |
1.0.1 | 1.0.1 | 2016-09-13 |
1.1 | 1.1 | 2016-11-16 |
Installation und Einrichtung
Visual Studio installieren
Wenn Sie Visual Studio nicht installiert haben, können Sie die kostenlose Visual Studio Community Edition hier herunterladen . Wenn Sie es bereits installiert haben, können Sie mit dem nächsten Schritt fortfahren.
Erstellen einer ASP.NET Core MVC-Anwendung.
- Öffnen Sie Visual Studio.
- Wählen Sie Datei> Neues Projekt.
- Wählen Sie im Bereich Vorlagen auf der linken Seite die Sprache Ihrer Wahl aus.
- Wählen Sie im Dialog einen bevorzugten Projekttyp aus .
- Optional: Wählen Sie ein .NET Framework aus, auf das Sie abzielen möchten
- Benennen Sie Ihr Projekt und geben Sie an, ob Sie eine Lösung für das Projekt erstellen möchten.
- Klicken Sie auf OK , um das Projekt zu erstellen.
In einem weiteren Dialog wird die Vorlage ausgewählt, die Sie für das Projekt verwenden möchten:
Jede der Beschreibungen ist selbsterklärend. Wählen Sie für dieses erste Projekt die Webanwendung aus , die alle Standardkonfigurationen, die Authentifizierung und einige vorhandene Inhalte enthält.
Da dies eine Einführung ist und keine Sicherheit oder Authentifizierung erforderlich ist, können Sie auf der rechten Seite des Dialogfelds die Authentifizierungsoption in Keine Authentifizierung ändern und auf OK klicken, um das Projekt zu erstellen .
Sie sollten das neue Projekt dann im Projektmappen-Explorer sehen:
Drücken Sie die Taste F5, um die Anwendung auszuführen und eine Debugging-Sitzung zu starten, die die Anwendung in Ihrem Standardbrowser startet:
Sie können jetzt sehen, dass Ihr Projekt lokal läuft und als Ausgangspunkt für die Erstellung Ihrer Anwendung bereit ist.
Erstellen Sie ein neues Projekt über die Befehlszeile
Es ist möglich, ein neues ASP.NET Core-Projekt vollständig über die Befehlszeile mit dem Befehl dotnet
.
dotnet new web
dotnet restore
dotnet run
dotnet new web
scaffolds ein neues "leeres" Webprojekt. Der web
- Parameter teilt das dotnet
- Tool die verwenden ASP.NET Core Empty
- ASP.NET Core Empty
Vorlage. Verwenden Sie dotnet new -all
, um alle derzeit installierten verfügbaren Vorlagen dotnet new -all
. Weitere Schlüsselvorlagen sind console
, classlib
, mvc
und xunit
.
Nachdem die Vorlage erstellt wurde, können Sie die für die Ausführung des Projekts erforderlichen Pakete wiederherstellen ( dotnet restore
), kompilieren und starten ( dotnet run
).
Sobald das Projekt ausgeführt wird, ist es am Standardport verfügbar: http: // localhost: 5000
Minimale ASP.NET Core-Web-API mit ASP.NET Core MVC
Mit ASP.NET Core 1.0 wurden das MVC- und das Web-API-Framework zu einem Framework namens ASP.NET Core MVC zusammengeführt. Dies ist eine gute Sache, da MVC und Web API viele Funktionen gemeinsam nutzen, es jedoch immer subtile Unterschiede und Code-Duplizierungen gab.
Das Zusammenführen dieser beiden in einem Rahmen erschwerte jedoch auch die Unterscheidung. Beispielsweise stellt Microsoft.AspNet.WebApi
das Web API 5.xx-Framework dar, nicht das neue. Wenn Sie jedoch Microsoft.AspNetCore.Mvc
(Version 1.0.0
) einschließen, erhalten Sie das vollständige Paket. Dieses enthält alle Standardfunktionen, die das MVC-Framework bietet. Wie Razor, Tag-Helfer und Modellbindung.
Wenn Sie nur eine Web-API erstellen möchten, benötigen wir nicht alle diese Funktionen. Wie bauen wir also eine minimalistische Web-API? Die Antwort lautet: Microsoft.AspNetCore.Mvc.Core
. In der neuen Welt ist MVC in mehrere Pakete aufgeteilt, und dieses Paket enthält nur die Kernkomponenten des MVC-Frameworks, z. B. Routing und Autorisierung.
Für dieses Beispiel erstellen wir eine minimale MVC-API. Einschließlich JSON-Formatierer und CORS. Erstellen Sie eine leere ASP.NET Core 1.0-Webanwendung, und fügen Sie Ihrem project.json diese Pakete hinzu:
"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"
Jetzt können wir MVC mit AddMvcCore()
in der Startklasse registrieren:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddCors()
.AddJsonFormatters();
}
AddMvcCore
gibt eine IMvcCoreBuilder
Instanz zurück, die das weitere IMvcCoreBuilder
ermöglicht. Die Konfiguration der Middleware ist wie immer:
public void Configure(IApplicationBuilder app)
{
app.UseCors(policy =>
{
policy.AllowAnyOrigin();
});
app.UseMvc();
}
Controller
Das "alte" Web-API verfügt über eine eigene Controller-Basisklasse: ApiController
. In der neuen Welt gibt es nichts, nur die Standard- Controller
Klasse. Leider ist dies eine ziemlich große Basisklasse, die an Modellbindung, Ansichten und JSON.NET gebunden ist.
Glücklicherweise müssen im neuen Framework Controller-Klassen nicht vom Controller
werden, um vom Routing-Mechanismus Controller
zu werden. Es reicht aus, den Namen nur mit Controller
anzufügen. Dadurch können wir unsere eigene Controller-Basisklasse aufbauen. Nennen wir es ApiController
, nur für alte Zeiten.
/// <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;
}
Das Attribut [Controller]
gibt an, dass der Typ oder ein abgeleiteter Typ vom standardmäßigen Controller-Erkennungsmechanismus als Controller betrachtet wird. Das Attribut [ActionContext]
gibt an, dass die Eigenschaft mit dem aktuellen ActionContext
wenn MVC den Controller erstellt. Der ActionContext
enthält Informationen zur aktuellen Anfrage.
ASP.NET Core MVC bietet auch eine
ControllerBase
Klasse, die eine Controller-Basisklasse nur ohne Unterstützung für Ansichten bereitstellt. Es ist immer noch viel größer als bei uns. Verwenden Sie es, wenn Sie es bequem finden.
Fazit
Mit dem neuen ASP.NET Core MVC-Framework können wir jetzt eine minimale Web-API erstellen. Die modulare Paketstruktur ermöglicht es uns, einfach die Pakete einzupacken, die wir brauchen, und eine schlanke und einfache Anwendung zu erstellen.
Verwenden von Visual Studio-Code zum Entwickeln der Cross Plateform-Aspnet-Kernanwendung
Mit AspNetCore können Sie die Anwendung auf jeder Plattform entwickeln, einschließlich Mac, Linux, Window und Docker.
Installation und SetUp
- Installieren Sie von hier aus den visuellen Studio-Code
- Fügen Sie C # extesnion hinzu
- Installieren Sie dot net core sdk. Sie können von hier aus installieren
Jetzt haben Sie alle Werkzeuge zur Verfügung. Um die Anwendung zu entwickeln. Jetzt benötigen Sie eine Gerüstoption. Dafür sollten Sie Yeoman in Betracht ziehen. Um Yeoman zu installieren
Installieren Sie NPM. Dafür benötigen Sie Node auf Ihrem Rechner. Installieren Sie von hier aus
Installieren Sie Yeoman mithilfe von NPM
npm install -g yo
Installieren Sie jetzt den Aspnet-Generator
npm install -g generator-aspnet
Jetzt haben wir alle Einstellungen auf Ihrer Maschine. Zuerst erstellen wir ein neues Projekt mit dem DotNetCore-Basisbefehl und dann ein neues Projekt mit Yo.
Neues Projekt über die Befehlszeile
Erstellen Sie einen neuen Projektordner
mkdir CoreApplication cd CoreApplication
Scaffold ein sehr einfaches Dotnet-Projekt mit Standardbefehlszeilenoption
dotnet Neu
Stellen Sie die Pakete wieder her und führen Sie die Anwendung aus
Verwenden Sie Yeoman als Gerüstoption
Erstellen Sie einen Projektordner und führen Sie den Yo-Befehl aus
yo aspnet
Yeoman fragt einige Eingaben wie Projekttyp, Projektname usw. ab
Stellen Sie jetzt die Pakete wieder her, indem Sie den Befehl dotnet restore ausführen und die Anwendung ausführen
Verwenden Sie VS-Code, um die Anwendung zu entwickeln
Führen Sie den visuellen Studiocode aus
Öffnen Sie nun die Dateien und führen Sie die Anwendung aus. Sie können die Erweiterung auch nach Ihrer Hilfe durchsuchen.
Setup-Umgebungsvariable in ASP.NET Core [Windows]
ASP.NET Core verwendet die Umgebungsvariable ASPNETCORE_ENVIRONMENT
, um die aktuelle Umgebung zu ermitteln. Wenn Sie Ihre Anwendung ausführen, ohne diesen Wert festzulegen, wird standardmäßig automatisch die 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.
Festlegen der Umgebungsvariablen in Windows
In der Kommandozeile
Sie können eine Umgebungsvariable einfach über eine Eingabeaufforderung festlegen, indem Sie den Befehl setx.exe aus Windows verwenden. Sie können es verwenden, um eine Benutzervariable einfach festzulegen:
>setx ASPNETCORE_ENVIRONMENT "Development"
SUCCESS: Specified value was saved.
Beachten Sie, dass die Umgebungsvariable nicht im aktuell geöffneten Fenster festgelegt ist. Sie müssen eine neue Eingabeaufforderung öffnen, um die aktualisierte Umgebung anzuzeigen. Es ist auch möglich, Systemvariablen (und nicht nur Benutzervariablen) festzulegen, wenn Sie eine administrative Eingabeaufforderung öffnen und den Schalter / M hinzufügen:
>setx ASPNETCORE_ENVIRONMENT "Development" /M
SUCCESS: Specified value was saved.
Verwenden von PowerShell Alternativ können Sie die Variable mit PowerShell festlegen. In PowerShell können Sie neben den normalen Benutzer- und Systemvariablen auch eine temporäre Variable mit dem Befehl $Env:
erstellen:
$Env:ASPNETCORE_ENVIRONMENT = "Development"
Die erstellte Variable gilt nur für die Dauer Ihrer PowerShell-Sitzung. Sobald Sie das Fenster schließen, wird die Umgebung auf den Standardwert zurückgesetzt.
Alternativ können Sie die Benutzer- oder Systemumgebungsvariablen direkt festlegen. Diese Methode ändert die Umgebungsvariablen in der aktuellen Sitzung nicht. Daher müssen Sie ein neues PowerShell-Fenster öffnen, um Ihre Änderungen anzuzeigen. Das Ändern der Systemvariablen (Maschine) erfordert wie zuvor Administratorzugriff
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")
Verwenden der Windows-Systemsteuerung Wenn Sie die Eingabeaufforderung nicht mögen, können Sie Ihre Variablen ganz einfach mit der Maus aktualisieren. Klicken Sie auf die Windows-Startmenü-Schaltfläche (oder drücken Sie die Windows-Taste), suchen Sie nach environment variables
und wählen Sie Umgebung bearbeiten Variablen für Ihr Konto:
Wenn Sie diese Option auswählen, wird das Dialogfeld Systemeigenschaften geöffnet
Klicken Sie auf Umgebungsvariablen, um die Liste der aktuellen Umgebungsvariablen in Ihrem System anzuzeigen.
Wenn Sie nicht bereits über eine Variable mit dem Namen ASPNETCORE_ENVIRONMENT
, klicken Sie auf die Schaltfläche Neu ... und fügen Sie eine neue ASPNETCORE_ENVIRONMENT
hinzu: Klicken Sie auf OK, um alle Änderungen zu speichern. Sie müssen alle Befehlsfenster erneut öffnen, um sicherzustellen, dass die neuen Umgebungsvariablen geladen werden.