Versionshantering för klienter och server i Mobile Apps och Mobile ServicesClient and server versioning in Mobile Apps and Mobile Services

Den senaste versionen av Azure mobiltjänster är den Mobile Apps funktionen i Azure App Service.The latest version of Azure Mobile Services is the Mobile Apps feature of Azure App Service.

Mobile Apps klient- och SDK: erna är ursprungligen baserat på vilka i mobiltjänster, men de är inte kompatibla med varandra.The Mobile Apps client and server SDKs are originally based on those in Mobile Services, but they are not compatible with each other. Det vill säga måste du använda en Mobile Apps klient-SDK med en Mobile Apps SDK-server och på liknande sätt för mobiltjänster.That is, you must use a Mobile Apps client SDK with a Mobile Apps server SDK and similarly for Mobile Services. Det här kontraktet tillämpas via en särskild huvudvärde som används av klienten och servern SDK: er, ZUMO-API-VERSION.This contract is enforced through a special header value used by the client and server SDKs, ZUMO-API-VERSION.

Obs: när det här dokumentet avser en mobiltjänster serverdelen, inte nödvändigtvis behöver finnas på mobiltjänster.Note: whenever this document refers to a Mobile Services backend, it does not necessarily need to be hosted on Mobile Services. Nu är det möjligt att migrera en mobil tjänst ska köras på App Service utan kodändringar, men tjänsten skulle fortfarande använda mobiltjänster SDK-versioner.It is now possible to migrate a mobile service to run on App Service without any code changes, but the service would still be using Mobile Services SDK versions.

Mer information om hur du migrerar till App Service utan kodändringar, finns i artikeln Migrera en mobil tjänst till Azure App Service.To learn more about migrating to App Service without any code changes, see the article Migrate a Mobile Service to Azure App Service.

Huvud-specifikationHeader specification

Nyckeln ZUMO-API-VERSION kan anges i HTTP-rubriken eller frågesträngen.The key ZUMO-API-VERSION may be specified in either the HTTP header or the query string. Värdet är en versionssträng i formuläret x.y.z.The value is a version string in the form x.y.z.

Exempel:For example:

HÄMTA https://service.azurewebsites.net/tables/TodoItemGET https://service.azurewebsites.net/tables/TodoItem

RUBRIKER: ZUMO-API-VERSION: 2.0.0HEADERS: ZUMO-API-VERSION: 2.0.0

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

Väljer bort versionskontrollOpting out of version checking

Du kan välja bort versionskontroll genom att ange ett värde av SANT för appinställningen MS_SkipVersionCheck.You can opt out of version checking by setting a value of true for the app setting MS_SkipVersionCheck. Ange detta i din web.config eller i avsnittet Inställningar för program i Azure-portalen.Specify this either in your web.config or in the Application Settings section of the Azure portal.

Anteckning

Det finns ett antal beteendeförändringar mellan mobiltjänster och Mobile Apps, särskilt i områden som offline-synkronisering, autentisering och push-meddelanden.There are a number of behavior changes between Mobile Services and Mobile Apps, particularly in the areas of offline sync, authentication, and push notifications. Du bör endast välja bort versionskontroll när du slutför testning för att säkerställa att ändringarna beteendeanalys inte skadar appens funktioner.You should only opt out of version checking after complete testing to ensure that these behavioral changes do not break your app's functionality.

Sammanfattning av kompatibilitet för alla versionerSummary of compatibility for all versions

Diagrammet nedan visar kompatibiliteten mellan alla typer av klienten och servern.The chart below shows the compatibility between all client and server types. En serverdel klassificeras som antingen Mobile Services eller Mobile appar baserat på servern SDK som används.A backend is classified as either Mobile Services or Mobile Apps based on the server SDK that it uses.

Mobila tjänster Node.js- eller .NETMobile Services Node.js or .NET Mobilappar Node.js- eller .NETMobile Apps Node.js or .NET
Klienter för mobiltjänsterMobile Services clients OKOk Fel*Error*
Mobile Apps-klienterMobile Apps clients Fel*Error* OKOk

*Detta kan kontrolleras genom att ange MS_SkipVersionCheck.*This can be controlled by specifying MS_SkipVersionCheck.

Mobile Services-klient och serverMobile Services client and server

Klient-SDK: er i tabellen nedan är kompatibla med mobiltjänster.The client SDKs in the table below are compatible with Mobile Services.

Obs: Mobile Services-klient SDK: er inte skicka ett huvudvärde för ZUMO-API-VERSION.Note: the Mobile Services client SDKs do not send a header value for ZUMO-API-VERSION. Om tjänsten tar emot den här rubriken eller frågesträngsvärdet kommer att returneras ett fel om du uttryckligen har valt ut enligt beskrivningen ovan.If the service receives this header or query string value, an error will be returned, unless you have explicitly opted out as described above.

Mobile Services klient-SDK: erMobile Services client SDKs

KlientplattformClient platform VersionVersion Värdet för versionshuvudetVersion header value
Hanterad klient (Windows, Xamarin)Managed client (Windows, Xamarin) 1.3.21.3.2 Saknasn/a
iOSiOS 2.2.22.2.2 Saknasn/a
AndroidAndroid 2.0.32.0.3 Saknasn/a
HTMLHTML 1.2.71.2.7 Saknasn/a

Mobile Services server SDK: erMobile Services server SDKs

ServerplattformServer platform VersionVersion Godkänd version-huvudAccepted version header
.NET.NET WindowsAzure.MobileServices.Backend.* Version 1.0.xWindowsAzure.MobileServices.Backend.* Version 1.0.x ** Inga versionshuvudet ****No version header **
Node.jsNode.js (kommer snart)(coming soon) Inga versionshuvudetNo version header

Beteendet för serverdelar för mobiltjänsterBehavior of Mobile Services backends

ZUMO-API-VERSIONZUMO-API-VERSION Värdet för MS_SkipVersionCheckValue of MS_SkipVersionCheck SvarResponse
Ej specificeratNot specified AllaAny 200 - OK200 - OK
Ett värdeAny value TrueTrue 200 - OK200 - OK
Ett värdeAny value FALSKT/inte angettsFalse/Not Specified 400 - Felaktig begäran400 - Bad Request

Azure Mobile Apps-klient och serverAzure Mobile Apps client and server

Mobile appar klient-SDK: erMobile Apps client SDKs

Versionskontroll introducerades från och med följande versioner av klient-SDK för Azure Mobile Apps:Version checking was introduced starting with the following versions of the client SDK for Azure Mobile Apps:

KlientplattformClient platform VersionVersion Värdet för versionshuvudetVersion header value
Hanterad klient (Windows, Xamarin)Managed client (Windows, Xamarin) 2.0.02.0.0 2.0.02.0.0
iOSiOS 3.0.03.0.0 2.0.02.0.0
AndroidAndroid 3.0.03.0.0 3.0.03.0.0

Mobile appar server SDK: erMobile Apps server SDKs

Versionskontroll ingår i följande server SDK-versioner:Version checking is included in following server SDK versions:

ServerplattformServer platform SDKSDK Godkänd version-huvudAccepted version header
.NET.NET Microsoft.Azure.Mobile.ServerMicrosoft.Azure.Mobile.Server 2.0.02.0.0
Node.jsNode.js azure-mobile-apps)azure-mobile-apps) 2.0.02.0.0

Beteendet för Mobile Apps-serverdelenBehavior of Mobile Apps backends

ZUMO-API-VERSIONZUMO-API-VERSION Värdet för MS_SkipVersionCheckValue of MS_SkipVersionCheck SvarResponse
x.y.z eller Nullx.y.z or Null TrueTrue 200 - OK200 - OK
NullNull FALSKT/inte angettsFalse/Not Specified 400 - Felaktig begäran400 - Bad Request
1.x.y1.x.y FALSKT/inte angettsFalse/Not Specified 400 - Felaktig begäran400 - Bad Request
2.0.0-2.x.y2.0.0-2.x.y FALSKT/inte angettsFalse/Not Specified 200 - OK200 - OK
3.0.0-3.x.y3.0.0-3.x.y FALSKT/inte angettsFalse/Not Specified 400 - Felaktig begäran400 - Bad Request

Nästa stegNext Steps