In general, if a third service provider manages the webserver for me then it is hosted, while if I am by myself managing the webserver then it is self-hosting.
In ASP.NET Core, In both places, I am the one who publishes the code on the server, at the time of IIS it is not called self-hosting? what exactly does "self" means?
For me as a programmer, self-hosting means the application should be able to host itself, which means it must be able to listen to the web requests directly or it must run on its own process. Am I wrong? please someone help me to understand the meaning of "self" in self-hosting.
also, the image Microsoft uses to explain self-host is very confusing to me, as far as I know, IIS uses w3wp.exe to execute the application as
the above image is good, w3wp is the process within that our app executes and IIS is the overall container.
but now, look at this image
Here the application is the wrapper and Kestral is within the application and the process (dotnet.exe/ application.exe) is the wrapper containing the Kestral, why is it so?
for me, it should be
why my image is different from Microsoft's image for self-hosting? where am I missing the concept?