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

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

HEADERS: ZUMO-API-VERSION: 2.0.0

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

选择不进行版本检查

可以将应用设置 MS_SkipVersionCheck 的值设置为 true,选择不进行版本检查。 在 web.config 中或在 Azure 门户的“应用程序设置”部分中可以指定此设置。

注意

移动服务和移动应用之间有许多行为发生了变化,尤其是在脱机同步、身份验证和推送通知方面。 应该在完成测试之后才选择不要进行版本检查,确保这些行为的更改不会影响应用功能。

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

移动 应用 客户端 SDK

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

客户端平台 版本 版本标头值
托管客户端(Windows、Xamarin) 2.0.0 2.0.0
iOS 3.0.0 2.0.0
Android 3.0.0 3.0.0

移动应用服务器 SDK

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

服务器平台 SDK 中 IsInRole 中的声明 接受的版本标头
.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 - 正常
Null False/未指定 400 - 错误的请求
1.x.y False/未指定 400 - 错误的请求
2.0.0-2.x.y False/未指定 200 - 正常
3.0.0-3.x.y False/未指定 400 - 错误的请求