Answers:
更新有关Azure当前状态的答案,
现在,App Services将所有的Mobile,Api和Web Apps风格替换为一个单一的应用程序框架,并且具有所有功能,从而使跨各种应用程序类型的事物更易于访问。当前,所有Web,移动和Api应用程序统称为应用程序服务。我们仍然为客户提供能够在图库中创建移动应用程序和Web应用程序的方法,但这基本上可以解决应用程序服务应用程序的问题。
https://azure.microsoft.com/zh-CN/documentation/articles/app-service-api-apps-why-best-platform/
Web应用程序的移动功能以及Easy Tables和Easy API等功能。API应用程序的功能(例如API Cors和API定义)现在也可以在网络应用程序上使用。客户可以托管一个Web应用程序,以充当任何移动服务或具有通过应用程序服务提供的所有功能的api。
我们还为预览版提供了一项新服务,特别是通过为您的API提供管理经验来专门针对API应用程序。基本上,您可以控制生成尝试API页面,收集执行分析,限制等。查看功能博客以了解有关Azure API管理功能的更多信息。是的,您可以将API托管为App Service App,并通过API Management进行连接。
https://azure.microsoft.com/zh-CN/documentation/articles/api-management-get-started/
在某个时间点上,不同的应用程序服务类型之间存在差异,但这不再是事实。该文档现在指出:
三种应用程序类型(API,Web,移动设备)之间的唯一区别是Azure门户中用于它们的名称和图标。
因此,不再需要选择将其部署到哪种应用程序服务类型(除非您在乎图标的外观)。
更新
功能应用程序现在是例外。创建功能应用程序会更改门户中的用户界面。但是,基础Web应用程序没有什么不同。设置名为FUNCTIONS_EXTENSION_VERSION
= 的应用程序设置~1
会将任何Web应用程序转换为功能应用程序(减去门户中的用户界面)。
Web API和API Apps之间有许多细微的差异,但非常明显和关键的差异是
本机Swagger实现-在Visual Studio中创建API App时,默认情况下会提供swagger引用。Swagger为API使用者提供了非常友好的开发人员功能,可通过Swagger UI与您的API进行交互。此外,基于Swagger的API还提供了客户端SDK生成(基于.Net的客户端和基于Javascript的客户端),这使得调用API变得很容易,就像常规方法调用一样。注意:可以手动在常规Web API上执行Swagger。
能够将您的API应用发布到Azure市场。Azure Market Place是所有API应用程序的公共存储库,可以免费使用或收费使用。
频道9的这 15分钟视频很好地概述了Api Apps。
为了补充Greg的答案,这是最近的一篇文章,描述了这些差异。
总结一下:
“ API Apps的主要功能-身份验证,CORS和API元数据-已直接移到App Service中。通过这一更改,这些功能可在Web,Mobile和API Apps中使用。实际上,这三者共享相同的Microsoft.Web /资源管理器中的站点资源类型。”
这是另一个重要说明:
“如果您的API已经部署为Web应用程序或移动应用程序,则无需重新部署应用程序即可利用这些新功能。”
这可能取决于您要执行的操作,但是在创建服务时将使用Web API。ASP.Net Web API是用于构建HTTP服务的框架,该服务可被广泛的客户端使用。这使您不仅可以为Web应用程序构建它,还可以将其打开以连接到Android应用程序,IOS应用程序,Web应用程序,Windows 8应用程序,WPF应用程序等。
因此,如果需要Web服务但不需要SOAP,则可以使用Web API。
实际上,您可以在Azure WebApp上部署aspnet webapi,并在Worker Roles上部署自助主机。
在WebApp(以前的Azure网站)上,它将部署在IIS上,因此您可以利用IIS功能。