Ich habe mit Offline-Sync-Option mit azurblauen mobilen Diensten erstellt. Am Anfang hat alles gut funktioniert. Ich habe mehrere Zeilen eingefügt und bin nach ein paar Tagen zu meiner App zurückgekehrt, als ich versucht habe, einen Einschub in meinen Tisch zu machen. Ich erhalte die Fehlermeldung alsLegen Sie JArray-Werte mit ungültigem Schlüsselwert fest: "Version". Int32 Array-Index erwartet
System.ArgumentException: Set JArray values with invalid key value: "version". Int32 array index expected.
at Newtonsoft.Json.Linq.JArray.set_Item (System.Object key, Newtonsoft.Json.Linq.JToken value) [0x00028] in <filename unknown>:0
at Microsoft.WindowsAzure.MobileServices.MobileServiceTable.GetJTokenFromResponse (Microsoft.WindowsAzure.MobileServices.MobileServiceHttpResponse response) [0x00035] in <filename unknown>:0
at Microsoft.WindowsAzure.MobileServices.MobileServiceTable+<>c__DisplayClass14+<<InsertAsync>b__13>d__16.MoveNext() [0x000f7] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
Ich habe versucht, die Version Eigenschaft wie unten in meinem todoitem.cs
[Version]
public byte[] Version { get; set; }
oder
[TimeStamp]
public byte[] Version { get; set; }
hinzufügen Aber weder Fälle hat mir geholfen. Ich bekomme den Fehler nur, wenn ich versuche einzufügen. Lesen von Daten ist in Ordnung. Erwartet er, dass ich etwas setze. Ich dachte, dass es automatisch während einer neuen Zeile eingefügt wird und nur verwendet, um zwischen Zeilenversion der Daten zwischen Server und Client zu überprüfen.
UPDATE: was ich geändert habe, war, nachdem es funktionierte, änderte ich die Schemaberechtigungen für jede Aktionen auf "Nur authentifizierte Benutzer" und fügte auch eine Authentifizierung mit Google hinzu und danach bekam ich diesen Fehler, was auch immer ich mache. Ich putzte Tisch auf lokalen SQLite und Azur, aber es half nicht einmal.
Es ist schwer zu sagen, warum, aber Sie haben Recht. Die meisten Authentifizierungseinstellungen erfordern https. Daher vermute ich, dass das Token aufgrund der Erwartung von https nicht ordnungsgemäß übertragen wurde und den Fehler verursacht hat. –
@AdrianHall offensichtlich. Ich wünschte, dass Azure zumindest eine richtige Fehlermeldung zurückgab, anstatt sie zu missbrauchen. Ich war so überrascht, nach dem googeln für 2 Tage keinen einzigen Eintrag über diesen Fehler zu finden. Jedenfalls hoffe ich, dass dieser Eintrag trotzdem auf den gleichen Fehler trifft. – batmaci
Sie rocken, Mann !. Vielen Dank! –