Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

If deploy an ASP.NET Core as a web app to Azure, what is used for hosting?

ASP.NET Core out of the box supports hosting in IIS and self-hosting scenarios using the Kestrel and WebListener HTTP servers. Accordingly to web.config / project.json looks like IIS is used, but if so it is not clear for my "why" so, as now IIS is acting just as a reverse proxy and the application itself runs as a separate process using the Kestrel HTTP server.

So the main question is "what" and "why" is used by default, if deploy to Azure?

like image 254
Set Avatar asked Jul 06 '16 19:07

Set


People also ask

Which service should be used to host a Web application in Azure?

Azure App Service is the fastest and easiest way to host web applications and APIs in Azure. Azure App Service provides a fully managed, platform as a service hosting solution that supports . NET, Java, JavaScript, and Python applications.

Where does ASP.NET Core app deploy?

In general, to deploy an ASP.NET Core app to a hosting environment: Deploy the published app to a folder on the hosting server. Set up a process manager that starts the app when requests arrive and restarts the app after it crashes or the server reboots.


1 Answers

Yes, when you publish to Azure Web Services, IIS is used to host your application. As you said, it acts as a reverse proxy to your application, which is running Kestrel HTTP server. But IIS does more than that - it also manages the application process through application pool, which includes or may include:

  • restarting the app when web.config changes
  • starting the app on the first HTTP request
  • running the app as a specified user
  • recycling the app pool (and effectively restarting the app) on certain conditions
  • starting multiple app processes
  • handle webdeploy (this is what happens when you hit "Publish" in Visual Studio
like image 166
qbik Avatar answered Nov 14 '22 15:11

qbik