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 macOSBei 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üsselwertNeue Middleware in ASP.NET Core 8.0Request Timeout Middleware
Short Circuit Middleware
Antiforgery Middleware
IExceptionHandler als Alternative zur Exception Middleware
Verbesserungen in Visual Studio für ASP.NET CoreParameter 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 MVCGenerische AttributeVerbesserungen für Minimal-APIsBei 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-TokenNeue Code-Analyzer in ASP.NET Core 8.0Warnung, 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 wirdRequest.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 aufweisenVerbesserungen bei der ASP.NET Core 8.0-SicherheitIdentity Server wurde entfernt aus den ProjektvorlagenOIDC mit beliebigen Servern kann aber weiterhin verwendet werdenBessere Unterstützung für eigene TokenASP.NET Core Identity nun als Razor Component und per WebAPI für SPAVerbesserungen für Überwachung/Telemetrie, Skalierbarkeit und HochverfügbarkeitMicrosoft.Extensions.TelemetryMicrosoft.Extensions.Http.TelemetryMicrosoft.Extensions.Http.Resilience und Microsoft.Extensions.ResilienceMicrosoft.Extensions.Diagnostics.ProbesMicrosoft.Extensions.Diagnostics.HealthChecks.CommonMicrosoft.Extensions.Compliance.TestingMicrosoft.Extensions.Compliance.RedactionVerbesserungen für ASP.NET Core SignalRStateful ReconnectVerbesserungen für BlazorBlazor Static-Server-Rendering (SSR) als Alternative zu ASP.NET Core Model-View-Controler (MVC) und ASP.NET Core Razor Pages inkl. Streaming, Enhanced Navigation und Formularen mit ValidierungIntegration von Blazor Server und Blazor WebAssembly: gemeinsame Projektvorlage "Blazor Web App" und nahtloser Übergang von Blazor Server zu Blazor WebAssembly zur Laufzeit ("Auto-Rendering-Modus")JITerpreter, SIMD und WebCIL-Format für Blazor WebAssembly Sektionen in LayoutseitenVerbesserte Routendefinitionen in Blazor 8.0 und NavigationManager.Refresh()Globale kaskadierende Blazor-ParameterGeschlüsselte Dienste bei der Dependency Injection bei [inject] (aber nicht bei @inject)Codebasierte Validierung und Formular bei Blazor SSRÜberarbeitete Architektur bei ASP.NET Core Identity: basiert nun auf Razor Components statt Razor PagesAnti-Forgery-Token für FormulareÜberwachung von Blazor Server-Circuits mit CreateInboundActivityHandler()Blazor WebAssembly 8.0 erlaubt nun auch das Debugging im Firefox-Browser. Bisher war dies nur mit Chrome möglich. Hot Reloading funktioniert nun auch, wenn Entwickler Field, Properties oder Events auf Instanzebene zu Klassen hinzufügen.