[フレーム]
BT

InfoQ Software Architects' Newsletter

A monthly overview of things you need to know as an architect or aspiring architect.

View an example

We protect your privacy.

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Unlock the full InfoQ experience

Unlock the full InfoQ experience by logging in! Stay updated with your favorite authors and topics, engage with content, and download exclusive resources.

Log In
or

Don't have an InfoQ account?

Register
  • Stay updated on topics and peers that matter to youReceive instant alerts on the latest insights and trends.
  • Quickly access free resources for continuous learningMinibooks, videos with transcripts, and training materials.
  • Save articles and read at anytimeBookmark articles to read whenever youre ready.

Topics

Choose your language

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+ global
senior 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:

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.

Rate this Article

Adoption
Style

This content is in the .NET topic

Related Topics:

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

We protect your privacy.

BT

AltStyle によって変換されたページ (->オリジナル) /