移动应用和移动服务中的客户端与服务器版本控制
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 - 错误的请求 |