Azure移动应用程序:同步失败时重试

时间:2019-02-18 16:27:29

标签: android azure xamarin azure-mobile-services

我正在将Azure移动应用程序用于大型节日上使用的Xamarin应用程序。我们总是遇到由于大量移动设备挂在那里而引起的连接问题。但是,在这种环境中,Azure Mobile Apps SDK很好地管理了(离线)同步:

如果设备无法将其更新的数据推送到服务器,则实现重试机制的正确方法是什么?我希望该设备积极地重试数据同步(也许只有某些特定类型)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在try / catch中包含您的同步代码将使您在最终失败之前重试该呼叫。这是一个示例,其中某人对某些错误类型有多次重试:Microsoft.Azure.Mobile Client - Handling Server Error using custom IMobileServiceSyncHandler - Xamarin Forms

就增量推送而言,according to the docs是不可能的。

“ Push是对同步上下文的操作,它发送自上次推送以来的所有CUD更改。请注意,不可能仅发送单个表的更改,因为否则可能会无序发送操作。Push执行一系列操作到您的Azure移动应用后端的REST调用中,这反过来又修改了您的服务器数据库。“

如果有对更新至关重要的特定数据,则可以选择要拉出的表,但是应用程序将始终尝试在发生任何拉出之前推入所有更新的数据。