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?

ASP.NET Core
ASP.NET Core
A set of technologies in the .NET Framework for building web applications and XML web services.
4,190 questions
.NET Runtime
.NET Runtime
.NET: Microsoft Technologies based on the .NET software framework.Runtime: An environment required to run apps that aren't compiled to machine language.
1,125 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Bruce (SqlWork.com) 56,846 Reputation points
    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