ASP.NET Core in .NET 5

30 November 2020 at 03:30 by ParTech Media - Post a comment

.NET 5 is gereleased op 10 november! Het is de nieuwe versie van .NET Core en de toekomst van het .NET platform. Met .NET 5 heb je alles wat je nodig hebt om een rijk, interactief front end web UI en krachtige backend services te bouwen.

ASP.NET Core in .NET 5 is gevuld met veel nieuwe features en verbeteringen. Voorbeelden hiervan zijn:

  • MVC model binding verbeteringen, inclusief ondersteuning voor C# 9 record types

  • Blazor Server & Blazor WebAssembly ondersteuning en verbeteringen

  • Ingebouwde OpenAPI en Swagger UI ondersteuning voor Web APIs

  • SignalR Hub filters en parallelle Hub invocaties

  • Azure AD authenticatie met Microsoft.Identity.Web

  • Auto browser refresh met dotnet Watch

  • HTTP/2 en gRPC performance verbeteringen

Aan de slag

Om te beginnen met ASP.NET Core in .NET 5 moet je de .NET 5 SDK installeren (https://dotnet.microsoft.com/download/dotnet/5.0). .NET 5 is ook inclusief de laatste updates voor Visual Studio en Visual Studio voor Mac. Dus als je jouw IDE al geüpdatet hebt zou je klaar voor de start moeten zijn.

Visual Studio 2019 16.8 of een latere versie is nodig om .NET 5 van Visual Studio te gebruiken. .NET 5 wordt ook ondersteund met Visual Studio voor Mac. Om .NET 5 met Visual Studio Code te gebruiken moet je de laatste versie van de C# extensie installeren.

Upgrade een bestaand project

Volg deze stappen om een bestaande ASP.NET Core app van .NET Core 3.1 naar .NET 5 te upgraden:

Om een bestaande ASP.NET Core app van .NET 5 RC2 naar .NET 5 te upgraden:

  • Update alle Microsoft.AspNetCore, Microsoft.Extensions en System package references naar 5.0.0.

Performance verbeteringen

Bij elke .NET release is extra moeite gedaan om alle aspecten van de performance in ASP.NET Core applicaties te verbeteren. ASP.NET Core in .NET 5 is de snelste .NET framework tot nu toe. .NET 5 bevat grote performance verbeteringen in de runtime en bibliotheken en voor de gRPC componenten. Deze verbeteringen resulteren in significante winsten in doorvoer (RPS) en latency. De performance resultaten hieronder zijn van de TechEmpower benchmarks voor ASP.NET Core met .NET Core 3.1 en van de laatste resultaten van ASP.NET Core met .NET 5 genomen.

Doorvoer (max, in RPS)

Scenario 3.1 5.0 Verandering
Plaintext Platform 8593 11690 +36.0%
Json Platform 872 1261 +44.6%
Fortunes Platform 344 423 +23.0%
Plaintext 3993 4420 +12.4%
Json 743 912 +22.6%
Fortunes 223 259 +16.2%

Latency (gemiddelde, in ms)

Scenario 3.1 5.0 Verandering
Plaintext Platform 1.52 0.82 -46.3%
Json Platform 1.24 0.41 -66.7%
Fortunes Platform 1.57 1.26 -19.7%
Plaintext 0.87 0.83 -4.2%
Json 1.52 1.20 -21.1%
Fortunes 1.11 0.87 -21.6%

De ‘platform’ testen geven sterk geoptimaliseerde benchmark implementaties weer, terwijl de niet-platform testen meer typische framework componenten gebruiken. De TechEmpower performance score, een index gebaseerd op alle TechEmpower benchmarks samengevoegd, is gestegen van 5659 naar 6626 met .NET 5, dit geeft een stijging van 17% aan.

Implementeer .NET 5 Web Apps in Azure App Service

De ASP.NET en Azure App Service teams hebben hard samengewerkt om zeker te zijn dat ASP.NET developers toegang hebben tot alle features, groot en klein, van de .NET 5 runtime op dag nul. Dit betekent dat, zodra je .NET 5 kan downloaden en hiermee apps kan bouwen, je deze .NET 5 apps kan implementeren in App Service door Visual Studio en Visual Studio Code te gebruiken, en je zult volledige ondersteuning hebben om .NET 5 apps te implementeren in App Service met gebruik van GitHub Actions.

Deze dag-nul beschikbaarheid van .NET 5 op App Service is beschikbaar gemaakt door hun nieuwe Early Access Runtime feature, wat niet alleen .NET 5 apps mogelijk zal maken, maar ook elke volgende release van .NET vanaf nu. Dit betekent dat je niet meer hoeft te wachten op het platform om de runtime te ondersteunen, het zal ‘gewoon er zijn’ wanneer de runtime beschikbaar is.

Terwijl Early Access je direct een ondersteund pad naar het implementeren van jouw .NET 5 apps naar Azure App Service biedt, zijn er wat kleine nuances in hoe Early Access werkt met hoe je je vertrouwd maakt in de App Service Early Access .NET pagina. Je zult de App Service in de Azure Portal moeten maken en .NET (in plaats van .NET Core) als de stack moeten selecteren. Dan moet je .NET 5 als de .NET Framework versie selecteren.

Lees hier meer over ASP.NET Core in .NET 5: https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-in-net-5/

Latest