question

bhavna-3740 avatar image
0 Votes"
bhavna-3740 asked Bruce-SqlWork answered

CoreCLR for ASp.NET Core.

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?

dotnet-aspnet-core-generaldotnet-runtime-core
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

Bruce-SqlWork avatar image
0 Votes"
Bruce-SqlWork answered

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.

5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.