Ich erstelle Windows 10 Store-Anwendung und ich habe ein Problem beim Aufruf PullAsync
Methode. Ich habe die Azure Mobile App lange benutzt und immer private IMobileServiceTable<MyTable> table
benutzt. Jetzt muss ich Unterstützung von etwas in Microsoft hinzufügen, das Offline Sync
genannt wird. Nach der Unterweisung war ich nicht erfolgreich.Azure Mobile App Offline Sync nie Daten
Hier ist mein Code.
using Microsoft.WindowsAzure.MobileServices;
using Microsoft.WindowsAzure.MobileServices.Sync;
using Microsoft.WindowsAzure.MobileServices.SQLiteStore;
private IMobileServiceSyncTable<MyTable> OffTable = App.MobileService.GetSyncTable<MyTable>();
private IMobileServiceTable<MyTable> OnTable = App.MobileService.GetTable<MyTable>();
protected ovveride async OnNavigatedTo()
{
if(!App.MobileService.SyncContext.IsInitialized)
{
var store = new MobileServiceSQLiteStore("localstore.db");
store.DefineTable<MyTable>();
await App.MobileService.SyncContext.InitializeAsync(store);
}
await OffTable.PullAsync("uniqueID", OffTable.CreateQuery());
var data = await OffTable.ToCollectionAsync(); //return -> nothing
var data2 = await OnTable.ToCollectionAsync(); //return -> 50 rows
}
Und MyTable.cs
using Microsoft.WindowsAzure.MobileServices;
using Newtosoft.Json;
[DataTable("MyTable")]
public sealed class MyTable
{
[JsonProperty]
public int ID { get; set;}
[JsonProperty]
public string Field1 { get; set; }
//...
[JsonProperty(PropertyName = "version")]
[Version]
public string Version { get; set; }
[JsonProperty(PropertyName = "deleted")]
[Deleted]
public bool Deleted { get; set; }
[JsonProperty(PropertyName = "updatedAt")]
[UpdatedAt]
public DateTime UpdatedAt { get; set; }
[JsonProperty(PropertyName = "createdAt")]
[CreatedAt]
public DateTime CreatedAt { get; set; }
}
Hier Werte von project.json
:
"Microsoft.Azure.Mobile.Client": "2.0.1",
"Microsoft.Azure.Mobile.Client.SQLiteStore": "2.0.1"
Was ich falsch mache?