ASP.NET Core
Eintrag zuletzt aktualisiert am: 01.05.2018
Fachbücher zum Thema ASP.NET Core
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 1.0 umfasst
Ressourcen
Nightly Builds:
https://www.myget.org/gallery/aspnetvnextQuellcode:
https://github.com/aspnetDokumentation:
http://www.asp.net/vnextGeschichte
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): RC-Version
19.01.2016: Umbenennung in
ASP.NET Core 1.0
16.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 (behandelt in diesem Kapitel)
Model View Controller (
MVC)-Framework (behandelt in diesem Kapitel)
Razor Pages (behandelt in diesem Kapitel)
Web
API (ein Sonderfall des Model View Controller Framework, behandelt in einem eigenen Hauptkapitel)
SignalR (behandelt in einem eigenen Hauptkapitel)
Während
MVC und
Razor Pages zum Server Side Rendering gehören, dienen Web
API und SignalR dem Client Side Rendering.
POCO-CController können für beides verwendet werden.
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 Source
Neues Features für
ASP.NET Core
- Gleiche Basisklasse Controller für MVC und WebAPI
- Tag Helper (selbstdefinierte Tags)
- View Components
- Integriertes Dependency Injection-Framework
- Dependency Injection in Views mit Service Injection