0

I am trying to understand the difference between inProcess and outofprocess while trying to host a dot net core app on IIS. If I am hosting outofprocess, does it still require updated .net core server hosting, or installed at all?

Ratan
  • 863
  • 5
  • 12
  • 28

1 Answers1

0

Whether you are using in-process or out-of-process, you need to use .net core server hosting. Host

On startup, an ASP.NET Core app builds a host. The host encapsulates all of the app's resources, such as: 1. An HTTP server implementation 2. Middleware components 3. Logging 4. Dependency injection (DI) services 5.Configuration

In process hosting model

  1. A request arrives from the web to the kernel-mode HTTP.sys driver.
  2. The driver routes the native request to IIS on the website's configured port, usually 80 (HTTP) or 443 (HTTPS).
  3. The ASP.NET Core Module receives the native request and passes it to IIS HTTP Server (IISHttpServer). IIS HTTP Server is an in-process server implementation for IIS that converts the request from native to managed. After the IIS HTTP Server processes the request:
  4. The request is sent to the ASP.NET Core middleware pipeline.
  5. The middleware pipeline handles the request and passes it on as an HttpContext instance to the app's logic.
  6. The app's response is passed back to IIS through IIS HTTP Server.
  7. IIS sends the response to the client that initiated the request.

Out-of-process hosting model

  1. Requests arrive from the web to the kernel-mode HTTP.sys driver.
  2. The driver routes the requests to IIS on the website's configured port. The configured port is usually 80 (HTTP) or 443 (HTTPS).
  3. The module forwards the requests to Kestrel on a random port for the app. The random port isn't 80 or 443.
Bruce Zhang
  • 2,880
  • 1
  • 5
  • 11