VS2015 中的 Azure 应用服务项目模板和新发布目标

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

我安装了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 应用发布
  • API 应用程序 -> 发布为 Web 应用程序
  • API 应用 -> 作为 API 应用发布

最佳答案

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

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

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

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

  • API 应用程序具有可在逻辑应用程序中使用的简单集成点(想象一下逻辑应用程序中定义的 Salesforce 工作流程,需要调用 API 将数据更新到数据库)。您可以使用网络应用程序来完成此操作,但需要做更多的工作。

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

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

总体而言,API 应用程序具有与 Web 应用程序完全相同的功能,但在某些地方通过额外的位进行了精简。

关于VS2015 中的 Azure 应用服务项目模板和新发布目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32924873/

相关文章:

reactjs - React-scripts 无法在 azure 部署上运行 npm run build

android - Azure 通知中心跨平台推送

azure - 谁在 Azure 中的 VNet 内使用子网

git - Azure CLI 从任务创建新分支

Restful API : Is it meaningful to send PUT without enclosed entity?

asp.net - 将 OData 与 Web API 结合使用有什么优势?

azure - [ azure ] : Error: Windows Azure is currently performing an operation on this hosted service that requires exclusive access

c# - 此版本的应用程序不支持 Azure .ccproj

Azure 云服务 - 似乎总是在旋转

c# - 动态设置/更改/更新当前文化 c#