移动应用和移动服务中的客户端和服务器版本控制

最新版本的 Azure 移动服务是 Azure 应用服务的 移动应用 功能。

移动应用客户端和服务器 SDK 最初基于移动服务中的 SDK,但它们彼此 不兼容 。 也就是说,必须将 移动应用 客户端 SDK 与 移动应用 服务器 SDK 一起使用,并且同样适用于 移动服务。 此协定通过客户端和服务器 SDK ZUMO-API-VERSION使用的特殊标头值强制执行。

注意:每当本文档引用 移动服务 后端时,它不一定需要托管在移动服务上。 现在,可以迁移移动服务以在应用服务上运行,而无需进行任何代码更改,但该服务仍将使用 移动服务 SDK 版本。

标头规范

可以在 HTTP 标头或查询字符串中指定密钥 ZUMO-API-VERSION 。 该值是 x.y.z 形式的版本字符串。

例如:

GET https://service.azurewebsites.net/tables/TodoItem

标头:ZUMO-API-VERSION:2.0.0

POST https://service.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0

选择退出版本检查

可以通过将应用程序设置MS_SkipVersionCheck的值设为true来退出版本检查。 在 Azure 门户的“应用程序设置”部分或在 web.config 中指定此项。

注释

移动服务和移动应用之间存在许多行为更改,尤其是在脱机同步、身份验证和推送通知方面。 只有在完成测试后,才应选择退出版本检查,以确保这些行为更改不会破坏应用的功能。

Azure 移动应用客户端和服务器

移动应用客户端 SDK

从适用于 Azure 移动应用的客户端 SDK 的以下版本开始引入了版本检查:

客户端平台 版本 版本标头值
托管客户端 (Windows, Xamarin) 2.0.0 2.0.0
iOS 3.0.0 2.0.0
安卓 3.0.0 3.0.0

移动应用服务器 SDK

以下服务器 SDK 版本中包含版本检查:

服务器平台 SDK 接受的版本标头
.NET Microsoft.Azure.Mobile.Server 2.0.0
Node.js azure-mobile-apps) 2.0.0

移动应用后端的行为

ZUMO-API-VERSION MS_SkipVersionCheck的值 响应
x.y.z 或 Null 真 实 200 - 正常
False/未指定 400 - 错误的请求
1.x.y False/未指定 400 - 错误的请求
2.0.0-2.x.y False/未指定 200 - 正常
3.0.0-3.x.y False/未指定 400 - 错误的请求