Is the sequence correct in context of ASP.NET Core?

bhavna 106 Reputation points
2022-02-15T17:31:31.243+00:00

IIS-->w3wp.exe-->ASP.NET Core Module--> Loads Core CLR and Creates runtime environment and start execution.

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

2 answers

Sort by: Most helpful
  1. Bruce (SqlWork.com) 82,066 Reputation points Volunteer Moderator
    2022-02-15T17:57:15.49+00:00

    if hosted by IIS in-process. if IIS out of process, then the core module creates a new process to run the .net core app, and reverse proxies to the new process.

    note: .net core includes a c/c++ hosting library used to load and run a core app. the core module uses this, and the small exe generated at build uses this library.


  2. Anonymous
    2022-02-16T07:19:32.277+00:00

    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:

    174825-image.png

    The following diagram illustrates the relationship between IIS, the ASP.NET Core Module, and an app hosted out-of-process:

    174680-image.png

    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.

    174842-image.png

    Then, when publish the Asp.net core application, it will generate a *.runtimeconfig.json config file, which contains the runtime version.

    174804-image.png

    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


Your answer

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