如何在Windows窗体和远程服务器之间进行实时数据同步

问题描述 投票:2回答:2

Flow

我的方案如上图所示。客户和商店将使用Windows表单应用程序,并且两者都有本地数据库。例如,如果客户检查商店产品和下订单,它将存储在客户的本地DB中,然后将其推送到中央服务器,从那里特定商店应该获得订单详细信息通知。类似地,如果订单被批准,数据应该在中央服务器中更新,并且应该作为更新推送到客户本地DB。

我们尝试使用SignalR为此,基于这篇文章Is it correct to use SignalR for desktop applications?,没有对Windows Forms的signalR的直接支持。

怎么样使用Microsoft Sync Framework,它会好吗并为我做这个工作?

那么还有其他技术可以在c#windows窗体中实现实时数据同步。

c# signalr real-time microsoft-sync-framework
2个回答
0
投票

几天前,

我遇到了这个问题并找到了解决方案。我希望你能从我的解决方案中获得想法。

我打电话给api,用于在商店到服务器和服务器到商店之间传输数据(json)。我为商店和服务器使用了相同的数据库结构,只是在服务器上添加了一个名为shop_id的额外字段,并为服务器构建了一个复合主键。

当需要同步时,用户将按下同步按钮,然后代码将检查is_sync错误数据并将该数据发送到api

Table structure:
       id,....,is_sync

Interactions:
   Shop->Server
   Server->Shop

0
投票

几乎一年后回答这个问题,但它可能对其他人有所帮助。

我最近研究过类似的要求。很少有图书馆对此有所帮助。

  1. SocketIO4Net
  2. SocketIoClientDotNet

我使用了SocketIoClientDotNet,它正在移植javascript库Socket.IO,所以它很容易集成它。它在我的项目中运行良好但现在已被弃用。不过,您可以使用它,因为最新版本非常稳定,并且很少有未解决的问题。

© www.soinside.com 2019 - 2024. All rights reserved.