CoreCLR for ASp.NET Core.

bhavna 106 Reputation points
2021-09-12T16:29:48.37+00:00

In IIS we had an aspnet_isapi extension that handles the request, it then spawns a process w3wp.exe, w3wp.exe then loads and starts the CLR and then CLR does its job.
Now, Kestral is configured inside the Main() method, so first the Main() should execute, so who starts the Core CLR ? is it IIS for windows and Apache for Linux? Do IIS and Apache know how to search and start Core CLR?

Developer technologies | ASP.NET | ASP.NET Core
Developer technologies | .NET | .NET Runtime
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Bruce (SqlWork.com) 78,161 Reputation points Volunteer Moderator
    2021-09-12T23:51:14.52+00:00

    It depends on how it’s hosted.

    With IIS inprocess, you use the aspnet core module, which loads the asp.net dll, and bypasses krestral. The module is hosted in w3wp.exe, but only supports one core site. You use a separate app pool per site.

    With IIS out of process, you again use asp.net core module, which will start the asp.net application and reverse proxy.

    For docker it’s the startup application.

    For Linux or macOS use a startup utility, typically launchd or systemd depending on the distribution. Often you may use ngnix or Apache as a reverse proxy, but they will not do the startup.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.