Hi @bhavna ,
The ASP.NET Core Module is a native IIS module that plugs into the IIS pipeline, allowing ASP.NET Core applications to work with IIS. Run ASP.NET Core apps with IIS by either:
Hosting an ASP.NET Core app inside of the IIS worker process (w3wp.exe), called the in-process hosting model.
Forwarding web requests to a backend ASP.NET Core app running the Kestrel server, called the out-of-process hosting model.
The following diagram illustrates the relationship between IIS, the ASP.NET Core Module, and an app hosted in-process:
The following diagram illustrates the relationship between IIS, the ASP.NET Core Module, and an app hosted out-of-process:
For more detail information about the flow of a request, you can check the in-process hosting model and out-of-process hosting model.
how does core module resolve which version of clr be used
When create a Asp.net core application, in the project file ({applicaton}.csproj), we will use the TargetFramework element to specify the version of .NET.
Then, when publish the Asp.net core application, it will generate a *.runtimeconfig.json config file, which contains the runtime version.
The process will according the config file to select the version. Here is an article about select the .NET version to use, you can refer to it.
If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.
Best regards,
Dillion