Xamarin.Forms:与 Azure MobileServices 同步太慢
Posted
技术标签:
【中文标题】Xamarin.Forms:与 Azure MobileServices 同步太慢【英文标题】:Xamarin.Forms: Synchronization with Azure MobileServices too slow 【发布时间】:2021-11-05 23:48:30 【问题描述】:我正在尝试按照本教程在 Xamarin.Forms 中实现 Azure MobileServices:https://docs.microsoft.com/en-us/azure/developer/mobile-apps/azure-mobile-apps/quickstarts/xamarin-forms/offline 但我注意到同步非常慢。比如我同步了一个数据库,里面有15个表,大约6万条记录,整个过程大约需要6分钟!如果我在已经同步的数据库上重新运行该操作,结果会发生一些变化。 是否有可能改进整个过程? 我怀疑这项技术是否已经被广泛使用,因为互联网上的文档很少,而且经常过时。 在这种情况下,有哪些替代方案?
【问题讨论】:
请给我看你的代码 值得注意的是,SQL 和 Xamarin Forms 的脱机同步已结束生命周期。我听说有些人提到最好手动实现它。我使用过手动和离线服务。手动有点乏味,但确实工作得更好。 @Janwilx72:谢谢。确实,经过网上大量的研究,我意识到这项技术不再受支持。此刻,我正在看这里:dotmimsync.readthedocs.io/Overview.html。似乎是最好的选择。 仍然支持 SQL 和 Xamarin Forms 的离线同步。我是支持它的人。去年 11 月发布了一个新版本,我正在开发一个新的(.NET MAUI 兼容)库和 ASP.NET Core 版本。不知道你从哪里得到“不支持” 【参考方案1】:首先,60K 记录第一次同步需要很长时间。这是不可避免的,因为要传输的数据量很大。 6 分钟不足为奇。
但是,您应该已经为增量同步实现了适当的东西。这包括确保您的模型具有 UpdatedAt 和 CreatedAt 时间戳以及全局唯一 ID,并在您使用 PullAsync()
时命名您的查询。比如:
await mTable.PullAsync('allItems', mTable.CreateQuery());
更多信息:https://azure.github.io/azure-mobile-apps/howto/client/dotnet/#syncing-an-offline-table
【讨论】:
以上是关于Xamarin.Forms:与 Azure MobileServices 同步太慢的主要内容,如果未能解决你的问题,请参考以下文章
401 未经授权在 Xamarin.Forms 上使用 Azure b2c
使用 Xamarin Forms 使用自签名证书对 Azure AD 进行身份验证
在 Xamarin Forms 项目中使用 AAD 和 Google 的 Azure 身份验证在授权后未重定向回应用程序