ASP.NET Core 8.0 ist als Nachfolger von
ASP.NET Core 7.0 am 14.11.2023 (zusammen mit
.NET 8.0) erschienen.
Neuerungen in ASP.NET Core 8.0
- Neues Protokoll in Kestrel: Named Pipes für die Inter-Prozess-Kommunikation via ListenNamedPipe("Pipename") im Rahmen von ConfigureKestrel()
- Http/2 auf macOS
- Bei gRPC-REST-Bridge (alias: ProtoBuffer-JSON-Transcoding) müssen die Dateien http.proto und annotations.proto nicht mehr explizit ins Projekt aufgenommen werden; sie werden automatisch importiert aus dem NuGet-Paket.
- [FromKeyedServices] zum Konsumieren von DI-Diensten mit Schlüsselwert
Neue Middleware in ASP.NET Core 8.0
Verbesserungen in Visual Studio für ASP.NET Core
- Parameter in Routen werden in Visual Studio nun farbig dargestellt. Das funktioniert in MVC, Razor Pages, Blazor, WebAPIs, Minimal WebAPIs (aber nicht in Razor Class Libraries!)
Verbesserungen für ASP.NET Core MVC
Verbesserungen für Minimal-APIs
- Komplex Form Binding
- Bei ASP.NET Core Minimal WebAPIs kann der Entwickler/die Entwicklerin nun beim Einsatz der Schnittstellen IFormCollection, IFormFile und IFormFileCollection auf den Zusatz [FromForm] verzichten
- Übergabe von Antiforgery-Token
Neue Code-Analyzer in ASP.NET Core 8.0
- Warnung, wenn mehrere Parameter mit [FromBody] annotiert sind: Der Inhalt einer HTTP-Anfrage kann immer nur auf einen Parameter einer WebAPI-Operation abgebildet werden.
- Analyzer warnt, wenn Parameter nicht verwendet wird
- Request.Headers.Add() vermeiden und stattdessen Append() oder den Indexer verwenden
- Bei Mininal-APIs gibt es eine Warnung, wenn TryParse() oder BindAsync() nicht die richtige Signatur aufweisen
Verbesserungen bei der ASP.NET Core 8.0-Sicherheit
Verbesserungen für Überwachung/Telemetrie, Skalierbarkeit und Hochverfügbarkeit
- Microsoft.Extensions.Telemetry
- Microsoft.Extensions.Http.Telemetry
- Microsoft.Extensions.Http.Resilience und Microsoft.Extensions.Resilience
- Microsoft.Extensions.Diagnostics.Probes
- Microsoft.Extensions.Diagnostics.HealthChecks.Common
- Microsoft.Extensions.Compliance.Testing
- Microsoft.Extensions.Hosting.Testing
- Microsoft.Extensions.Compliance.Redaction
Diese Pakete laufen aber nicht nur in
.NET 8.0, sondern auch in
.NET 6.0 und
.NET Framework ab 4.6.2.
- Stateful Reconnect: nicht zugestellte Nachrichten werden bei eine Verbindungsausfalle noch später übertragen, nachdem Gegenseite wieder erreichbar. Der Timeout ist wählbar.
siehe
Blazor 8.0