rest - Azure 移动服务与自己的 REST 服务

标签 rest azure mobile

我正在编写一个移动应用程序,该移动应用程序将与 Azure 中的服务器通信以获取数据,也可能推送一些数据。

现在,我一直在想,我要编写一个简单的 RESTful Web 服务来处理所有这些问题,并将其托管在 Azure 的网站上 - 然而,我后来发现了他们的移动服务,而且我不完全确定我理解它的用途。

你看,好像是把你在服务器上运行的代码提取出来,你推送给它的,就是你得到的东西?因此,这对我来说没有多大用处,因为我的 Web 服务将返回依赖于逻辑等的数据。但是,移动服务直接处理推送通知的能力很好(使用 Azure 网站有多难)通过移动服务发送推送通知?)

但是,我想知道我是否遗漏了一些东西?我宁愿不必重新发明轮子,移动服务将满足我的需要,特别是因为我将使用 Xamarin 并且有一个很好的组件可以与移动服务对话...

谢谢

最佳答案

我面临同样的问题:我应该使用 Azure 移动服务还是推出自己的 REST 服务。以下是我迄今为止的一些发现。

对于 Azure 移动服务,有一个运行一组程序集的后端,您的代码最终依赖于这些程序集。这很好,直到您开始使用与 Microsoft 主机版本不兼容的其他程序集版本。对我来说这是一个很大的痛苦。仅这个问题就让我怀疑是否要使用 Azure 移动服务。如果您自己制作 REST 服务,我不希望您遇到这些问题。 See this link for details.

您应该注意,Azure 移动服务与单个 Azure 区域绑定(bind):如果您的 Azure 区域发生故障,您需要手动迁移到另一个 Azure 区域。这对于您的项目来说可能不是问题。如果您想在多个区域运行,我认为推出自己的 REST 服务会更容易。

关于推送通知,您无需使用移动服务即可做到这一点。请参阅这些链接:

Azure 移动服务中开箱即用地支持自动缩放。如果您创建自己的 REST 服务,则需要创建自己的扩展逻辑。您可以使用 Azure 的 REST API 来扩展虚拟机,但这比使用移动服务需要更多工作。

Azure 移动服务支持身份验证。如果您创建自己的 REST 服务,则需要研究一个单独的框架来执行此操作。

如果您使用移动服务,您可能会通过 Visual Studio 向导创建 ASP.NET Web API。有示例和教程,非常棒。但是,即使您推出自己的服务,也可以在其他框架上构建。一个例子是 ServiceStack ,如果您想制作自己的 REST 服务,我会强烈考虑这一点。我认为 ServiceStack 还可以帮助进行身份验证。

如果您使用移动服务,您就会将自己与 Azure 联系得更紧密。通过推出您自己的 REST 服务,以后迁移到另一个基础设施可能会更容易。

关于rest - Azure 移动服务与自己的 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25964603/

相关文章:

http - 使用 Accept-charset HTTP header

c# - 使用 HttpClient 将 Content-Type 设置为 "application/json"并将对象添加到正文

rest - 如何通过rest api在jira中创建问题?

c# - 找不到资源组下的 Azure 媒体服务资源

c# - 在同一域中路由 API 项目和 Web 应用程序项目 (Azure)

javascript - 移动设备上的垂直滚动 - 页面中的hammer.js 元素

javascript - 以 "/"结尾的剩余请求适用于 Chrome,不适用于 Firefox

azure - 如何导出特定时间的DB?

ios - IGListkit是否提供了实现类似于Doppelganger/Doppelganger swift库的更新接口(interface)的能力?

jquery - android 滚动问题锁定浏览器