Klienten och servern versionshantering i Mobile Apps och Mobile ServicesClient and server versioning in Mobile Apps and Mobile Services

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

Mobile Apps-SDK för klienten och servern ursprungligen baseras på de i Mobile Services, 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 Mobilappar klient-SDK med en Mobilappar server-SDK och på samma sätt för Mobile Services.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 refererar till en Mobile Services serverdel inte nödvändigtvis behöver finnas i Mobile Services.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 Mobiltjänst ska köras på Apptjänst utan någon kodändringar, men tjänsten skulle fortfarande använder Mobile Services 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 Apptjänst utan någon kodändringar finns artikeln migrera en Mobiltjä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.

Specifikation för sidhuvudHeader specification

Nyckeln ZUMO-API-VERSION kan anges i HTTP-huvudet 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

HUVUDEN: 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 för 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 det i filen web.config eller i avsnittet programinställningar 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 funktionsändringar mellan Mobile Services och Mobilappar, särskilt i områden som offlinesynkronisering, 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 efter slutförd tester för att säkerställa att dessa förändringar i beteendet inte bryter 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.

Mobiltjänster Node.js eller .NETMobile Services Node.js or .NET Mobilappar Node.js eller .NETMobile Apps Node.js or .NET
Klienter för Mobile ServicesMobile 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-klienten och servernMobile Services client and server

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

Obs: Mobile Services klienten SDK inte skicka ett vä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 det här sidhuvudet eller frågesträngsvärdet ett fel returneras 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.

Mobila Services client SDKMobile 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

Mobila Services server SDKMobile Services server SDKs

Server-plattformenServer platform VersionVersion Godkänd version-huvudAccepted version header
.NET.NET WindowsAzure.MobileServices.Backend.* Version 1.0.xWindowsAzure.MobileServices.Backend.* Version 1.0.x No version header **No version header **
Node.jsNode.js (kommer snart)(coming soon) Ingen version-huvudNo version header

Beteendet för Mobile Services serverdelarBehavior 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
Inget värdeAny value TrueTrue 200 - OK200 - OK
Inget 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

Mobila appar client SDKMobile Apps client SDKs

Versionskontroll introducerades börjar 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

Mobila appar server SDKMobile Apps server SDKs

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

Server-plattformenServer 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 serverdelar för MobilapparBehavior 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