ASP.NET Core
Eintrag zuletzt aktualisiert am: 10.05.2021

ASP.NET Core (bis 21.1.2016: ASP
.NET 5.0, Codename ASP.NET vNext und
Project K) ist der Nachfolger von
ASP.NET Webforms 4.5.x,
ASP.NET MVC 5, ASP.NET WebPages 3,
ASP.NET SignalR 2 und
ASP.NET Web API 5. Zwischen Mai 2014 und November 2014 verwendete Microsoft den Codenamen "ASP.NET vNext", der aber auch schon in der Vergangenheit für frühere ASP.NET-Versionen verwendet wurde. Microsoft entwickelt ASP.NET Core komplett als
Open Source-Projekt mit Beteiligung externer Entwickler.
ASP.NET Core umfasst folgenden Anwendungsarten
- Server Side HTML Rendering mit ASP.NET Core MVC und ASP.NET Core Razor Pages
- Bidirektionale Kommunikation zwischen Webbrowser und Webserer mit ASP.NET Core SignalR
- HTTP-Dienste mit ASP.NET Core WebAPI
- Eine Mischform zwischen Client- und Serverseitigem Rendering mit ASP.NET Core Blazor Server
Geschichte
1996 Active Server Pages (ASP)
VBScript
IIS unter Windows
COM-Komponenten
2001
Active Server Pages .NET (ASP.NET)
C#,
VB.NET, Jscript.NET und andere Sprache
IIS unter Windows
.NET- und
COM-Komponenten
2016 ASP.NET Core
C#, F#
IIS,
Apache,
nginx,
Kestrel unter Windows,
Linux und macOS
.NET- und
COM-Komponenten (COM nur unter Windows)
Seit 2020 auch im Browser (
Blazor WebAssembly)
Ressourcen
Quellcode:
https://github.com/dotnet/aspnetcoreDokumentation:
https://docs.microsoft.com/de-de/aspnet/coreGeschichte
13.5.2014 (
TechEd USA): Erste öffentliche Erwähnung, noch unter dem Namen "ASP.NET vnext"
12.11.2014 (connect 2015): Benennung "ASP.NET 5"
18.11.2015 (connect 2014):
Razor Component-Version
19.01.2016: Umbenennung in ASP
.NET Core 1.016.05.2016: RC2
Anwendungsmodelle
Das klassischen ASP.NET war immer schon ein Oberbegriff über zahlreiche Anwendungsmodelle: Webforms, Dynamic Data, Model View Controller (MVC), Web API und Web Pages – mit verschiedenen Vor- und Nachteilen.
Auch in ASP.NET Core gibt es mehrere Anwendungsmodelle:
POCO-Controller
Model View Controller (MVC)-Framework
Razor Pages
Web API (ein Sonderfall des Model View Controller Framework)
SignalR
Blazor ServerWährend MVC und Razor Pages zum Server Side Rendering gehören, dienen WebAPI und SignalR dem Client Side Rendering.
POCO-Controller können für beides verwendet werden.
Blazor Server läuft zwar auf dem
Webserver, da aber alle
HTML-DOM-Änderungen einzeln per SignalR zum Client übretragen werden, hat der Benutzer das Erlebnis einer Single-Page-Web-App (SPA).
Ziele für ASP.NET Core
Komplette Reimplementierung
Schlank, komponentenbasiert/modular
- Nur benötigte Features
- Weniger Angriffsfläche
Agileres Vorgehen
- Schnellere / kleinere Releases
- Updates einzelner Komponenten
Nuget-Pakete (
nupkg):
Konfigurationsdateien:
JSON statt
XMLDependency injection *everywhere*
Keine Abhängigkeit von
System.Web.NET Framework wird pro Ordner installiert (
Xcopy-Deployment)
- Laufzeitumgebung "Side by side"
- Jeder kann .NET installieren, in beliebigen Versionen (kein Warten auf Rollout mehr!)
- Systemweiter Cache für Nuget-Pakete
- Automatische "ngen" (Name: CrossGen)
Schnellerer Anwendungstart: Kompilieren direkt in RAM
Ad-Hoc-Kompilieren dank
RoslynWenig RAM-Bedarf nur benötigte Komponenten
Höhere Dichte von Anwendungen auf Server (vgl. Cloud)
Einfaches Self-Hosting (oder im
IIS)
Cross-Platform: Windows,
Mono/
XamarinAlles
Open SourceNeues Features für ASP.NET Core
Sind die Inhalte hilfreich?