ASP.NET Core 1.1

Eintrag zuletzt aktualisiert am: 17.11.2016

ASP.NET Core 1.1 ist die am 16.7.2016 erschienene zweite Version von ASP.NET Core.

Neue Funktionen

In ASP.NET Core 1.1 hat Microsoft bisher fehlende Funktionen zum Umlenken von HTTP-Anfragen (URL Rewriting) ergänzt. Entwickler können nun in der Startup-Klasse mit regulären Ausdrücken, der XML-Syntax der Internet Information Services (IIS) oder der Mod_Rewrite-Syntax des Apache-Webservers Umlenkungen definieren. Auch eine Funktion zum Umlenken aller HTTP-Anfragen auf HTTPS ist realisiert.

Das frühere ASP.NET hatte einen Output Cache, der gerenderte Webseiten für eine definierbare Zeit zwischengespeichert hat. In ASP.NET Core 1.1 füllt diese in der Juli-Version noch bestehende Lücke das Paket Microsoft.AspNetCore.ResponseCaching in Verbindung mit dem Memory Cache (Microsoft.Extensions.Caching.Memory). Das Paket Microsoft.AspNetCore.ResponseCompression ermöglicht eine ZIP-Komprimierung der HTTP-Datenströme. Die Views, die in ASP.NET Core 1.0 immer zur Laufzeit kompiliert wurden, lassen sich nun zur Entwicklungszeit vorkompilieren.

ASP.NET-Core-Webanwendungen laufen immer in einem eigenständigen Prozess. Als Prozess-Host bietet Microsoft dafür in Version 1.1 neben Krestrel mit dem WebListener-Server eine Alternative an, die auf Basis des Windows-eigenen HTTP Server API auch Windows-spezifische Verfahren zur Authentifizierung, zum Port Sharing und Caching an Bord hat. Die Verwendung des Pakets Microsoft.AspNetCore.Server.WebListener zerstört jedoch die Plattformunabhängigkeit einer ASP.NET-Core-Anwendung.

Mit ASP.NET Core hat Microsoft View Components und Tag Helper zur Wiederverwendung von Markup und Logik eingeführt. In Version 1.1 gibt es nun eine Integration beider Konzepte. Während eine View Component bisher immer über den Befehl Component.InvokeAsync("viewcomponentname") in eine View einzubinden war, erledigt den Job nun eleganter ein Tag Helper (<viewcomponentname>…</viewcomponentname>).

Die Kernfunktionen von ASP.NET Core bilden Entwickler in der Startup-Klasse durch eine Aneinanderreihung von Middleware-Komponenten. Mit der Annotation [MiddlewareFilter] lassen sich nun auch Middleware-Komponenten auf einzelne Controller oder Actions beschränken. Die neue Komponente Microsoft.AspNetCore.AzureAppServicesIntegration speichert alle von den Logger-Objekten erzeugten Nachrichten in Microsofts Cloud. Mit den Paketen Microsoft.AspNetCore.DataProtection.Redis, Microsoft.AspNetCore.DataProtection.AzureStorage und Microsoft.Extensions.Configuration.AzureKeyVault können Entwickler sensible Informationen wie kryptografische Schlüssel in Redis oder Microsoft Azure nutzen. Im TempData-Objekt gespeicherte Daten lassen sich nun auch per Cookie auf dem Client speichern.

Performancesteigerung in ASP.NET Core

Eine Performancesteigerung von Webanwendungen von rund 15 Prozent will Microsoft durch Verwendung der Profile Guided Optimization (PGO) erreicht haben, die auch beim großen .NET Framework zum Einsatz kommt. Durch Aufzeichnung der tatsächlichen Nutzung des Programmcodes wird dessen Reihenfolge im Kompilat optimiert.

In der dreizehnten Ausgabe des TechEmpower-Webserverframework-Performanztest [https://www.techempower.com/benchmarks/] ist ASP.NET 1.1 bereits berücksichtigt und belegt dort den zehnten Platz in der "Plain Text"-Auswertung. Allerdings wird dabei ASP.NET Core auf Linux und ohne das MVC-Framework eingesetzt. Mit dem MVC-Framework rutscht ASP.NET Core in der Leistung auf den 29. Platz ab.

Versionen

Versionsgeschichte leider noch nicht verfügbar