InfoQ Homepage News ASP.NET Core Improvements in .NET 5
ASP.NET Core Improvements in .NET 5
This item in japanese
Dec 02, 2020 3 min read
Write for InfoQ
Feed your curiosity. Help 550k+ globalsenior developers
each month stay ahead.Get in touch
At the .NET Conf 2020 in November, Microsoft released the .NET 5 platform. This release's massive investment focuses primarily on improving the entire platform’s overall performance, followed by a broad set of new features in ASP.NET Core, mainly related to Blazor, SignalR, and Web API. Meanwhile, ASP.NET MVC adds support to more model binding types and a new library, the Microsoft.Web.Identity, which simplifies the Azure Active Directory authentication integration.
ASP.NET Core, which is further improved with .NET 5, is one of the most performing frameworks according to TechEmpower benchmarks and has got a great response from the developers’ community. The first example of enhancement is in the garbage collection, where now threads can increase the work done during the object collection or reduce the lock contention when statics are scanned. Another example is the better quality of the machine code generated by the just-in-time compiler (JIT), thanks to new features such as removing the redundant zero init or bound checks on indexes of arrays, strings, and spans. As a consequence of the increased performance in GC e JIT, other areas such as the allocation in the Kestrel server or the gRPC implementation for .NET got better too.
Source: gRPC performance improvements in .NET 5 | ASP.NET Blog
Other useful improvements are:
- The support for ARM64 hardware intrinsics
char.IsWhiteSpaceand all text processing methods that use itComparison<T>-based sorting routines, which reflects on the LINQ OrderBy method, and more in general on ordering collections- Trimming the unused portions of an application during the linking process
- Quicker JSON serialization and deserialization thanks to the JsonSerializer class refactoring
In the Blazor framework, the performance got better both in the WebAssembly runtime, where the processing times for common operations are cut in half and the UI components rendering phase. New controls such as InputFile, InputRadio, and InputRadioGroup are available, and the component virtualization enhances the rendering process.
Source: ASP.NET Core updates in .NET 5 Release Candidate 1 | ASP.NET Blog
About SignalR, now developers can manage parallel hub method invocations at a time and use SignalR Hub filters, which allows writing code that runs before and after Hub methods are called, facilitating logging, error handling, and argument validation. Filters can be configured per hub or globally.
In the ASP.NET Core MVC framework, the model binding now supports the record type introduced in C# 9. Also, requests containing a UTC time string can be bound to a UTC DateTime field:
public record Person([Required] string Name, [Range(0, 150)] int Age);
public class PersonController
{
public IActionResult Index() => View();
[HttpPost]
public IActionResult Index(Person person)
{
// ...
}
}
Source: What's new in ASP.NET Core 5.0 | Microsoft Docs
The .NET 5 release also brings innovation to the OpenAPI support, which is now enabled by default. Thanks to the partnership with the maintainer of the Swashbuckle.AspNetCore project, the web API project template includes the NuGet package for Swashbuckle. The OpenAPI configuration resides in the Startup class’s ConfigureServices method and is enabled by default only in the development mode, along with the Swagger UI page.
The latest improvements are related to the authentication in the ASP.NET Core application: the project template references Microsoft.Identity.Web NuGet library, facilitating the authentication process through Azure Active Directory and the ability to access Azure resources on behalf of a specific user.
Finally, the developers can use the dotnet watch command to launch both the debugger and the browser. During the debugging, each change applied to the code automatically refreshes the page.
With all these features and improvements, as Scott Hunter (director program management, .NET) stated during many occasions, Microsoft has a strong commitment to the framework alongside the community contribution to laying the foundation for the next version of .NET, usually referred to as the One .NET, which is planned for November 2021.
This content is in the .NET topic
Related Topics:
-
Related Editorial
-
Related Sponsors
-
Popular across InfoQ
-
TanStack Start: A New Meta Framework Powered by React or SolidJS
-
Microsoft Patches Critical ASP.NET Core Vulnerability with 9.9 Severity Score
-
GitHub Expands Copilot Ecosystem with AgentHQ
-
Redis Critical Remote Code Execution Vulnerability Discovered after 13 Years
-
Monzo’s Real-Time Fraud Detection Architecture with BigQuery and Microservices
-
Architecture Should Model the World as it Really is: a Conversation with Randy Shoup
-
Related Content
The InfoQ Newsletter
A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example