What are applications that run "in-process" vs those that run "out-process"?
Why would you select one over the other?
In InProcess hosting model, the ASP.NET Core application is hosted inside of the IIS Worker Process i.e. w3wp.exe. In OutOfProcess hosting model, Web Requests are forwarded to the ASP.NET Core app running on the Kestrel Server. In this article, we are covering the InProcess hosting model.
Out-of-process hosting modelIn-process hosting is set with InProcess , which is the default value. The value of <AspNetCoreHostingModel> is case insensitive, so inprocess and outofprocess are valid values. Kestrel server is used instead of IIS HTTP Server ( IISHttpServer ).
A process is an instance of a particular executable (.exe program file) running. A service is a process which runs in the background and does not interact with the desktop.
In-process hosting runs an ASP.NET Core app in the same process as its IIS worker process. In-process hosting provides improved performance over out-of-process hosting because requests aren't proxied over the loopback adapter, a network interface that returns outgoing network traffic back to the same machine.
"In-process" means the component runs in the same process space as the one using it. "Out-process" means the component runs in a different process space compared to the one using it. The two processes may be running on the same machine also. What matters is that they are not sharing the same process space.
The difference is the way in which you need to communicate with the component based on how it is running:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With