Azure-mobile-apps-net-client PushAsync订单错误

时间:2016-12-14 20:09:33

标签: azure azure-mobile-services

我正在调用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)之后发布。

2 个答案:

答案 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)。