我们是否应该在ASP.NET Core 2.2+ Web应用程序的Azure App Services上使用AspNetCoreHostingModel?

时间:2019-07-18 02:57:32

标签: azure asp.net-core azure-web-app-service

我正在考虑将 ASP.NET Core 2.2 Web API应用程序发布到Azure App Services。我注意到在ASP.NET Core 2.2中,它们已经在AspNetCoreHostingModel设置中添加了。

The documentation on this说,此设置允许In-process hosting

  

进程内托管提供了比进程外托管更高的性能,因为请求没有通过环回适配器进行代理。

问题1:通过在Windows App Service计划上使用Azure App Services,这是否意味着我们自动被迫使用IIS?

问题2:如果是这种情况(我们被迫),我们可能应该将此值设置为<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>,以充分利用InProc与Out-of-proc的性能优势?

编辑:

  • 我对Linux应用服务计划的假设是IIS在这些服务上不可用,因此该设置将被忽略。

1 个答案:

答案 0 :(得分:0)

  

通过在Windows App Service计划上使用Azure App Services,执行此操作   意味着我们会自动被迫使用IIS?

是的,对于Windows应用服务计划,.net核心应用托管在IIS中,您可以配置AspNetCoreHostingModel。您可以参考Availability in Azure App Service。您可以参考How to check Azure App Service OS version, what version of IIS来查看iis版本。

  

如果是这种情况(我们被迫),我们可能应该设置此值   进行处理   与Pro-of-proc相比性能优势的优势?

是的,我们应该设置InProcess

  

我对Linux应用服务计划的假设是IIS不可用   在这些上,因此将忽略此设置。

对于Linux App Service计划,它由docker托管.net核心应用程序。由于AspNetCoreHostingModel仅在ASP.NET Core Module

中可用,因此它会被淹没。