API App和Web App有什么区别?

env*_*vio 85 azure azure-web-sites azure-api-apps azure-web-app-service

我现在正在阅读一些关于将Web Apps和API应用程序部署到Azure的教程.但是,我仍然不确定为什么你会使用一个而不是另一个.

我可以使用API​​控制器创建一个新的.NET解决方案并将其部署为Web应用程序,那么为什么我要特别要求API应用程序?这些是专门针对ASP.NET Web API进行优化的吗?Web Apps用于提供HTML?

Chi*_*thi 67

更新Azure当前状态的答案,

App Services现在将所有Mobile,Api和Web Apps风格替换为单个应用程序框架,其中包含所有功能,以便跨应用程序类型更方便地访问.目前,所有Web,Mobile和Api应用程序统称为App Services.我们仍然为客户提供能够在库中创建移动应用程序和Web应用程序,但这基本上可以解析为应用程序服务应用程序.

https://azure.microsoft.com/en-us/documentation/articles/app-service-api-apps-why-best-platform/

适用于Web App的移动工作的功能,例如Easy Tables和Easy API.API Cors和API定义等API应用程序的功能现在也适用于Web应用程序.客户可以托管单个Web应用程序以充当任何移动服务或具有通过应用程序服务提供的所有功能的API.

我们还提供了一项新的预览服务,特别是针对API应用程序,为您的API提供管理体验,基本上您可以控制生成尝试API页面,收集执行分析,节流等等.查看功能博客,了解有关Azure API管理功能的更多信息.是的,您可以将API作为App Service App托管,并通过API Management进行连接.

https://azure.microsoft.com/en-us/documentation/articles/api-management-get-started/

  • 那么,如果没有差异,在API服务的保护下拥有API APP和Web Apps的主要原因是什么 (3认同)
  • 感谢最新!虽然......通常我会认为新的答案是有序的,因为已经更新了多少信息与原始答案.然后,我想这个是一个奇怪的情况/灰色区域,因为它已经被投票/接受.:) (2认同)

gre*_*gan 57

有一个时间点,不同的应用程序服务类型之间存在差异,但这已不再适用.该文档现在状态:

三种应用类型(API,Web,移动)之间的唯一区别是Azure门户中用于它们的名称和图标.

因此,选择部署到哪种应用服务类型不再重要(除非您关心图标的外观).

UPDATE

功能应用程序现在是例外.创建功能应用程序会更改门户中的用户界面.然而,底层的Web应用程序也不例外.设置名为FUNCTIONS_EXTENSION_VERSION= 的应用程序设置~1将任何Web应用程序转换为功能应用程序(减去门户中的用户界面).

  • 这个答案必须标记正确.谢谢. (3认同)

Ven*_*ndi 11

Web API和API应用程序之间存在许多细微差别,但非常显着且关键的区别在于

  1. Native Swagger实现 - 在Visual Studio中创建API App时,默认情况下会出现swagger引用.Swagger为API使用者提供了非常开发人员友好的功能,可以通过Swagger UI与您的API进行交互.此外,基于Swagger的API提供客户端SDK生成(基于.Net的客户端和基于Javascript的客户端),这使得调用API就像常规方法调用一样容易.注意:可以手动在常规Web API上实现Swagger.

  2. 能够将API应用程序发布到Azure Market Place.Azure Market Place是可以自由或通过收费消费的所有API应用程序的公共存储库.

从频道9月15日分钟的视频提供了有关API应用程序很好的概括.