ASP.NET Core 2.1 and ANCM In-Process Hosting

Authored by

Scott Hunter has released a blog post with Channel 9 video, although it seems that the schedule of .NET Core 2.1 and ASP.NET Core 2.1 was delayed.

I felt that he was in charge of ASP.NET in the past, but now he is the Director of the whole .NET.

About .NET Core 2.1 is also introduced in the blog post as a roadmap or introduction of enhanced functions.

In Span <T>, Memory <T> and friends, it seems that there are opportunities to touch them directly with the application, but as library correspondence progresses, it seems to benefit as well.

Personally I was concerned about improving build speed and performance improvement of HttpClient. Although HttpClient is convenient but difficult to use correctly, it is a terrible troublesome substitute but it seems to be easier from .NET Core 2.1.

ASP.NET Core 2.1

Breaking Changes from 2.0 probably do not seem to be so easy to upgrade. You only need to be careful with the point that HTTPS turns on by default.

I thought that basically it would not be possible to publish Kestrel directly to the Internet, but it may be mainly a change to the local environment. Usually it seems to be SSL offloading with the reverse proxy above.

I will confirm that the doubts such as the following are almost gathered in the issue below. Turning on by default does not mean that you force redirect to HTTPS separately.

Other changes are coming in about GDPR, so I'd like to chase a bit more slowly. After that, it was an enhancement to Razor Pages and Web API.

I did not follow ASP.NET Core's SignalR at all, but communication seems to be changed from JSON to MessagePack, so efficient processing and scalability are likely to improve.

Although it seems that it will take time to release yet it is greatly improved performance and scalability when I move from ASP.NET MVC 5 to ASP.NET Core MVC 2.0, so I am looking forward to the new SignalR.

ANCM In-Process Hosting

Up to this point it was a function enhancement and improvement, but there was only one special function : it is In-Process Hosting of ASP.NET Core Module.

In webdev's blog it's written ~ 4.4 x, but in GitHub it had 6 x throughput. I feel that touching around here is reminiscent of Helios in the past, but this time the source has been released.

If you explain roughly, IIS will be directly hosting .NET Core applications. It is said that it will be efficient because there is no TCP communication between IIS and ASP.NET Core applications.

Of course it is ANCM, so it only affects when using IIS. So if you are running ASP.NET Core applications with App Service or you are using Azure Functions v2, you can expect improvements when 2.1 is released.

Since GitHub already published code corresponding to In-Process, you can check the mechanism.

Since the code is divided in an intuitive directory called in-process, if you read it lightly, the word hostfxr appears shortly.

But it seems that marshalling costs are generated somewhat here, it is very small compared to communication using TCP.

Since I did not actually move it, I guess reading the code, but it certainly was content that I think will improve the performance.

In some cases, you may be able to have a good match with putting nginx in front. Let's expect it to 2.1.

Authored by

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.