5

我有一个现有的基于云的解决方案,它带有一个 Web api,可以将后端 SQL 数据库与客户端应用程序之间的数据进行代理。都非常标准。我的 web api 是使用 .NET Core 构建的。这运行良好,我利用现有的 web api 和已构建的各种 web 客户端。架构如下所示:

当前解决方案 当前的解决方案需要扩展以支持使用 web api 的本机移动客户端应用程序(这里没有什么特别的 - 通常他们会像任何其他客户端一样调用 web api)我必须满足这些新的要求客户端应用程序可以在离线场景中使用。这意味着我不能指望设备上存在数据连接以便在每次需要时调用我的 web api。我需要查看同步数据,以便它可以脱机并在需要时发送回服务器。

考虑一下,数据将以两种方式之一进行同步:

  • 单向同步 - 从服务器到客户端的数据,但不会对此数据进行任何更改,例如系统查找表。
  • 双向同步 - 现有数据将同步到客户端,修改并发送回服务器,或者在客户端上创建新数据并发送例如新订单。

新架构如下:

在此处输入图像描述

所以 - 回答我的问题 - 有没有人知道在同步数据(单向和双向)方面要遵循的良好设计模式,或者可能是内置同步代码的 NuGet 包?如果可能的话,我试图避免在同步方面重新发明轮子。

注意:仅供参考,本机移动应用程序将使用 Visual Studio 2015 中的 Xamarin 构建。

4

1 回答 1

0

我还没有使用它(刚刚开始调查,因为我的情况与你的情况相似)但看起来 Xamarin 已经有这个功能了(如果你仍然使用 Azure ......): Azure 中的离线数据同步移动应用

于 2017-04-06T18:55:25.040 回答