1

我安装了 VS2015 和最新的 Azure SDK。与 VS2013 和以前的 Azure SDK 相比,添加新的项目模板让我有些困惑。我正在尝试了解新的 Azure 应用服务。

我曾经创建一个 Web API 项目并将其作为 Azure 云服务发布。现在,我得到了更多选择:

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 应用程序或 Microsoft Azure API 应用程序。

以下如何比较和对比:

  • Web API -> 发布为 Web 应用程序
  • Web API -> 发布为 API APP
  • API 应用程序 -> 发布为 Web 应用程序
  • API 应用程序 -> 作为 API 应用程序发布
4

1 回答 1

0

我同意,工具有点混淆了这一点。以下是我的处理方式:

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

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

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

  • API 应用程序具有用于逻辑应用程序的简单集成点(想想逻辑应用程序中定义的来自 Salesforce 的工作流,需要调用您的 API 以将数据更新到数据库)。您可以使用 Web 应用程序来做到这一点,但需要做更多的工作。

  • 我相信不久的将来的计划是一个 API 应用程序市场(应用商店风格),这将使我们的开发人员能够销售 API。

  • 大摇大摆地走出盒子。API 应用程序模板已预先安装 Swashbuckle,用于为您的 API 生成 Swagger 文档(可以说,您可以通过 nuget 将其安装到您的 Web 应用程序模板中)。

总体而言,API 应用程序具有与 Web 应用程序完全相同的功能,但在某些地方增加了一些功能。

于 2015-10-05T12:41:12.130 回答