Winforms 两个或多个winform客户端应用程序之间的同步

Winforms 两个或多个winform客户端应用程序之间的同步,winforms,synchronization,microsoft-sync-framework,Winforms,Synchronization,Microsoft Sync Framework,我正在构建一个小型winform应用程序,它应该支持多个实例(不同的位置),但支持相同的数据存储。它有增长的潜力,所以我计划建造一个小平台。我不想在一开始就犯架构错误,也许可以做得更好 目前的计划是公开将访问ms sql的api。该api还将集成identity server以用于未来的一些计划。 只有当本地数据库(sql ce)无法返回结果时,客户端应用程序才会使用api获取数据。在本地数据库中创建新记录时,应用程序应使用api将相同记录添加到远程数据库 这看起来不错,但我正在阅读有关Micr

我正在构建一个小型winform应用程序,它应该支持多个实例(不同的位置),但支持相同的数据存储。它有增长的潜力,所以我计划建造一个小平台。我不想在一开始就犯架构错误,也许可以做得更好

目前的计划是公开将访问ms sql的api。该api还将集成identity server以用于未来的一些计划。 只有当本地数据库(sql ce)无法返回结果时,客户端应用程序才会使用api获取数据。在本地数据库中创建新记录时,应用程序应使用api将相同记录添加到远程数据库

这看起来不错,但我正在阅读有关Microsoft sync framework的文章,它有潜力。现在,我还没有和它合作,所以我很怀疑


有没有更好的方法,我对同步框架的看法是错的,还是应该坚持使用当前的api解决方案

有两种方法可以解决这个问题

  • 让您的客户端应用程序(winform应用程序)经常通过
    计时器
    任务
    检查您的API是否有更新的信息,然后更新您的UI内容
  • 假设您有权访问数据源,只要有可用的更新,imeplement
    signer
    就会将信息发送到您的客户端(winform应用程序)
  • 第一个更容易实现,但是速度可能会变慢,加上内容不是实时的,这意味着可能会有winform计时器尚未请求的更新信息。第二种方法实现起来更复杂(如果这是您的第一次),但同步更接近即时同步,而且客户端的代码也不那么凌乱


    有两种方法可以解决这个问题

  • 让您的客户端应用程序(winform应用程序)经常通过
    计时器
    任务
    检查您的API是否有更新的信息,然后更新您的UI内容
  • 假设您有权访问数据源,只要有可用的更新,imeplement
    signer
    就会将信息发送到您的客户端(winform应用程序)
  • 第一个更容易实现,但是速度可能会变慢,加上内容不是实时的,这意味着可能会有winform计时器尚未请求的更新信息。第二种方法实现起来更复杂(如果这是您的第一次),但同步更接近即时同步,而且客户端的代码也不那么凌乱