在 Azure 中托管 WebApi 的推荐方式

Posted

技术标签:

【中文标题】在 Azure 中托管 WebApi 的推荐方式【英文标题】:Recommended way to host a WebApi in Azure 【发布时间】:2014-08-21 18:31:30 【问题描述】:

我想在 azure 上托管我的 WebApi 项目。但我不确定我应该使用哪种方式在 azure 上运行它。就像有 网站云服务,它们包含 Web 角色和 Worker 角色。那我应该选择哪一个。如果云服务是选项,那么 Web 角色和工作者 角色中的哪一个是好的?

感谢任何帮助。

【问题讨论】:

在当前 Azure 用语中,您将创建一个 API App。 【参考方案1】:

要托管一个简单的 Web API(您可以根据使用情况等进行扩展),您需要使用网站。假设您不是在寻找更复杂/重量级的功能(网络配置,更复杂的架构,例如通过排队机制卸载后台处理不同实例,RDP 到主机等),那么网站正在成为事实上的方式在 Azure 上托管网站。

Azure 文档中的以下页面将为您提供两者之间的完整功能比较: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/,但简而言之,如果您只是在 VS 中有一个 Web API 项目,并且想在 Azure 中托管而无需担心底层基础架构,那么请使用网站。

【讨论】:

【参考方案2】:

如果您只想托管无头(无 Web 界面)Web API,我建议您使用 Azure Web 服务 - Web 角色。

对于 Worker Role,它就像一个控制台应用程序,您想用它来处理后台任务。通常,我们使用它来处理消息队列(Azure Service Bus - Queue)。

Azure 创建一个优化 VM 来运行这两种类型的角色,而不会出现不必要的垃圾。所以你会得到最大的好处。

但是,我仍然建议您阅读 azure 网站上的更多详细文档,以了解哪种环境最适合您的长期计划。

【讨论】:

【参考方案3】:

您需要登录 Azure (https://manage.windowsazure.com) -> Web Sites -> Create New

之后,您会在Web Sites 下找到网站名称。

点击Web Sites -> 选择New Created Web Site -> 转到 -> Deployement

Deployement -> 查找 -> Integrate source control

选择适当的选项,即GitHub or Dropbox 等。

Using Dropbox => 现在发布您的 WebApi 项目并将该数据粘贴到与您的 New Created Web Site in Azure 同名的 Dropbox 文件夹中

上传后转到 -> Azure -> Select Web Site -> Deployement -> Sync.

它将从 Dropbox 获取所有数据,您可以从 Azure 运行 WebApi 项目

更多详情Link、Link2、Link3

【讨论】:

在所有的事情之后你会看到浏览选项,它会运行你的 WebApi 到带有它自己的 URL 的浏览器 我认为我们可以通过右键单击项目并选择发布直接从 Visual Studio 发布项目。但我的观点是哪个服务适合使用,如网站或云服务(Web 角色或 Worker 角色) Web 服务速度很快,您可以在其中托管 WebApi

以上是关于在 Azure 中托管 WebApi 的推荐方式的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Azure 函数和 Azure Web API 之间启用托管标识?

如何在 Azure Service Fabric 中的自托管 Web API 上配置 SSL

如何在 ASP.net Core WebAPI 中启用 CORS

为 Service Fabric 配置 Azure 部署

Azure 上托管的高可用性 Service Fabric WebApi

Azure 中托管的 ASP.Net Web API 高响应时间