我正在调用await client.SyncContext.PushAsync();
将新创建/更新的对象推送到服务器。但是,并非每次遵守__operations表中的订单。
我的应用中典型的__operations
表的示例(简化):
1) Create some record in Project table
2) Update some record in User table
3) Create another record in Project table
然而,当我查看服务器输出时,它告诉我1)和3)被POST,然后2)被PATCHed。
我认为__operations
是否按照与服务器相同的顺序重播,因为它们是在客户端上制作的?
其他一些信息:
我在await itemTable.PullAsync("allItems", itemTable.CreateQuery());
moreover记录2)之后直接调用PushAsync()
包含服务器不接受的一些数据,并以http错误进行响应以进行测试。错误消息在服务器端正确显示,但是在1)和3)之后发布。
答案 0 :(得分:2)
操作表折叠以最小化到服务器的事务/往返次数。在您的情况下,您将看到:
1)记录A已更新
2)记录B已更新
3)删除,因为我们已经有记录A正在更新
因此,您将看到2条记录,而不是3条记录。记录A只发送一次。
答案 1 :(得分:0)
它告诉我1)和3)被POST,然后2)被PATCH。
PushAsync帮助我们将更改推送到Mobile App后端。据我所知,您的Mobile App API可能导致错误的订单。例如,如果更新用户表将使用200ms并且创建记录将使用100ms。订单将是1)/ 3) - > 2)。如果创建记录将使用300毫秒,则订单将为2) - > 1)/ 3)。