如果将 ASP.NET Core 作为 Web 应用程序部署到 Azure,用于托管的是什么?

Set*_*Set 5 azure asp.net-core

开箱即用的 ASP.NET Core 支持在 IIS 中托管以及使用 Kestrel 和 WebListener HTTP 服务器的自托管方案。因此,web.config / project.json 看起来像使用了 IIS,但如果是这样,我的“为什么”还不清楚,因为现在 IIS 充当反向代理,应用程序本身作为一个单独的进程运行,使用Kestrel HTTP 服务器。

所以主要问题是如果部署到 Azure,默认使用“什么”和“为什么”?

qbi*_*bik 6

是的,当您发布到 Azure Web 服务时,IIS 用于托管您的应用程序。正如您所说,它充当您的应用程序反向代理,该应用程序正在运行 Kestrel HTTP 服务器。但 IIS 的作用不止于此——它还通过应用程序池管理应用程序进程,其中包括或可能包括:

  • 当 web.config 更改时重新启动应用程序
  • 在第一个 HTTP 请求上启动应用程序
  • 指定用户身份运行应用程序
  • 某些条件下回收应用程序池(并有效地重新启动应用程序)
  • 启动多个应用进程
  • 处理webdeploy(这是在 Visual Studio 中点击“发布”时发生的情况