获取Azure离线同步

时间:2016-08-08 04:59:17

标签: azure azure-mobile-services azure-web-app-service

我知道我们可以通过

获得待处理项目的数量

PendingChanges = manager.MobileServiceClient.SyncContext.PendingOperations;

但这只能获得待处理项目的总数。如果我需要显示尚未同步某个类型的所有待处理项目的列表,我该怎么办? 有没有办法可以做到这一点?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以订阅以获取每个活动的活动。初始化同步上下文时,请使用:

subscription = client.EventManager.Subscribe<StoreOperationCOmpletedEvent>(StoreOperationEventHandler);

您可以订阅商店运营事件,如下所示:

{{1}}

您可以在此处获取此笔记的维基版:https://github.com/Azure/azure-mobile-apps-net-client/wiki/How-to-get-notifications-of-new-records-added-during-Pull-operation

答案 1 :(得分:0)

我用这样的方法取得了成功:

public async Task<string> GetPendingOperationsAsync()
{
    var query = MobileServiceTableQueryDescription.Parse("__operations", null);
    var jsonResult = await myClient.SyncContext.Store.ReadAsync(query);
    return jsonResult.ToString();
}

我所关心的只是得到一个我可以传递给错误报告的字符串,但是如果你想以编程方式检查数据作为JToken树,你可以删除ToString()部分。另外,我认为您可以将查询传递到null调用以过滤结果,而不是Parse(),而不是gganimate

显然,这取决于Azure移动服务的内部实施,因此使用风险自负。