IMobileServiceSyncTable 增量 PullAsync - 无结果
IMobileServiceSyncTable Incremental PullAsync - No Results
我正在尝试使用 PullAsync 方法的增量功能。我的问题是:当我将 queryId 参数传递给此函数时,它 returns 没有结果。没有这个参数它工作。
测试场景:本地sqllitetable为空,第一次执行PullAsync方法
工作:
await this.ISyncTable.PullAsync(null, query, cancellationToken).ConfigureAwait(false);
不工作:
await this.ISyncTable.PullAsync(queryId, query, cancellationToken).ConfigureAwait(false);
本例中使用的QueryId:"aa"
我的两个问题:
- 为什么这不起作用?
- 我应该为每个单独的查询生成一个 queryId,还是可以为所有查询使用一个 queryId 并每 7 天更新一次 queryId?
进行增量同步时,拉取操作仅检索最新 updatedAt
时间戳之后的记录。此外,关于你的第二个问题,通常我们为每个逻辑查询创建唯一的查询名称,如果具有相同查询名称的不同拉取操作可以覆盖相同的增量同步时间戳,那么查询将 return 不正确的结果。
有关Azure 移动应用程序中的离线数据同步的详细信息,请参阅this article。
我正在尝试使用 PullAsync 方法的增量功能。我的问题是:当我将 queryId 参数传递给此函数时,它 returns 没有结果。没有这个参数它工作。
测试场景:本地sqllitetable为空,第一次执行PullAsync方法
工作:
await this.ISyncTable.PullAsync(null, query, cancellationToken).ConfigureAwait(false);
不工作:
await this.ISyncTable.PullAsync(queryId, query, cancellationToken).ConfigureAwait(false);
本例中使用的QueryId:"aa"
我的两个问题:
- 为什么这不起作用?
- 我应该为每个单独的查询生成一个 queryId,还是可以为所有查询使用一个 queryId 并每 7 天更新一次 queryId?
进行增量同步时,拉取操作仅检索最新 updatedAt
时间戳之后的记录。此外,关于你的第二个问题,通常我们为每个逻辑查询创建唯一的查询名称,如果具有相同查询名称的不同拉取操作可以覆盖相同的增量同步时间戳,那么查询将 return 不正确的结果。
有关Azure 移动应用程序中的离线数据同步的详细信息,请参阅this article。