VS2015中的Azure App Service项目模板和新发布目标

时间:2015-10-03 16:32:24

标签: azure asp.net-web-api azure-cloud-services azure-api-apps

我安装了VS2015和最新的Azure SDK。与VS2013和之前的Azure SDK相比,我对添加新项目模板感到困惑。我正试图了解新的Azure应用服务。

我曾经创建一个Web API项目并将其作为Azure Cloud Service发布。现在,我提供了更多选择:

1) Azure Cloud Service -> ASP.NET Web Role -> Web API

我对这个很熟悉。

2) Azure Cloud Service -> ASP.NET Web Role -> Azure API App

为什么有人会创建Azure API应用并将其作为云服务发布?

3) ASP.NET Web Application -> Web API
4) ASP.NET Web Application -> Azure API App

这两个基本上与没有云服务模板的前两个相同。然而,他们发表的方式让我更加困惑。您可以将每个发布为Microsoft Azure Web App或Microsoft Azure API App。

以下比较和对比如何:

  • Web API - >作为Web App发布
  • Web API - >作为API APP发布
  • API App - >作为Web App发布
  • API App - >作为API APP发布

1 个答案:

答案 0 :(得分:0)

我同意,这个工具让这个有点困惑。以下是我处理它的方式:

  • “云服务”似乎已成为过去,我正在做的任何新项目我将使用AppService并使用ARM(Azure资源管理器)模板编写该应用服务的设置脚本。您将在VS 2015中的Cloud-> Azure资源组下找到此模板。这完全是可选的,但这是一个很好的最佳实践。

  • 如上所述,所有4种组合都有效。事实上,Azure API应用程序使用与网站相同的技术(它在门户网站中有点被埋没,但您可以通过在预览门户中打开API应用程序从API应用程序向下导航到底层网站,并在“API App Host”标签下双击)。

  • 使用VS2015中的API App模板,您将获得一个标准的asp.net网站,就像使用Web应用程序模板一样,但主要区别在于API应用程序默认情况下与网站模板不同这将有许多对API应用程序没有用的库(没有jquery,bootstrap RazorViews等)。较小的占用空间应该意味着asp.net启动时负载较少,因此启动时间更短。

  • API应用程序具有简单的集成点,可用于逻辑应用程序(请考虑在Logic应用程序中定义的Salesforce中需要调用API以将数据更新到数据库的工作流程)。您可以使用Web应用程序执行此操作,但会有更多的管道要做。

  • 我相信不久的将来该计划是一个API应用程序(应用商店风格)的市场,它将允许我们开发销售API。

  • 大肆宣传。 API应用程序模板预先安装了Swashbuckle,用于为您生成Swagger文档API(可以说您可以通过nuget将其安装到您的Web应用程序模板中)。

整个API应用程序具有与Web应用程序完全相同的功能,但在某些地方使用额外的位来缩减。