.net中的数据同步设计

时间:2017-03-10 11:12:37

标签: c# xamarin asp.net-core data-synchronization synchronisation

我有一个现有的基于云的解决方案,其中包含一个web api,用于向后端SQL数据库和客户端应用程序之间的数据进行代理。一切都很标准。我的web api是使用.NET Core构建的。这很好用,我利用现有的web api和已构建的各种Web客户端。架构看起来像这样:

Current solution 当前的解决方案需要扩展为使用web api支持原生移动客户端应用程序(这里没有任何异常 - 通常他们将web api称为与任何其他客户端相同)我必须满足这些新客户端应用程序可以在脱机方案中使用的要求。这意味着我不能指望设备上存在数据连接,以便在每次需要时调用我的web api。我需要查看同步数据,以便它可以脱机并在需要时发送回服务器。

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

  • 单向同步 - 从服务器到客户端的数据,但不会发生任何更改 对这些数据做出例如系统查找表。
  • 双向同步 - 存在 数据将同步到客户端,修改并发送回 服务器或新数据在客户端上创建并发送,例如新 顺序。

新架构如下:

enter image description here

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

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

1 个答案:

答案 0 :(得分:0)

我还没有使用它(刚刚开始调查,因为我和你的情况类似)但看起来Xamarin已经具备了这方面的功能(如果你还在使用Azure的话...... ): Offline Data Sync in Azure Mobile Apps