我的方案如上图所示。客户和商店将使用Windows表单应用程序,并且两者都有本地数据库。例如,如果客户检查商店产品和下订单,它将存储在客户的本地DB中,然后将其推送到中央服务器,从那里特定商店应该获得订单详细信息通知。类似地,如果订单被批准,数据应该在中央服务器中更新,并且应该作为更新推送到客户本地DB。
我们尝试使用SignalR为此,基于这篇文章Is it correct to use SignalR for desktop applications?,没有对Windows Forms的signalR的直接支持。
怎么样使用Microsoft Sync Framework,它会好吗并为我做这个工作?
那么还有其他技术可以在c#windows窗体中实现实时数据同步。
几天前,
我遇到了这个问题并找到了解决方案。我希望你能从我的解决方案中获得想法。
我打电话给api,用于在商店到服务器和服务器到商店之间传输数据(json)。我为商店和服务器使用了相同的数据库结构,只是在服务器上添加了一个名为shop_id的额外字段,并为服务器构建了一个复合主键。
当需要同步时,用户将按下同步按钮,然后代码将检查is_sync错误数据并将该数据发送到api
Table structure:
id,....,is_sync
Interactions:
Shop->Server
Server->Shop
几乎一年后回答这个问题,但它可能对其他人有所帮助。
我最近研究过类似的要求。很少有图书馆对此有所帮助。
我使用了SocketIoClientDotNet,它正在移植javascript库Socket.IO,所以它很容易集成它。它在我的项目中运行良好但现在已被弃用。不过,您可以使用它,因为最新版本非常稳定,并且很少有未解决的问题。