【问题标题】:Synchronizing two Lightswitch applications同步两个 Lightswitch 应用程序
【发布时间】:2013-02-19 15:16:26
【问题描述】:

正如我的标题所说,我需要弄清楚如何在彼此之间同步我的两个 Microsoft Lightswitch 应用程序。 此外,重要的是一个应用是在网络上,另一个是为桌面创建的。

所以,我需要从网络服务器中提取数据库条目并将其放入台式机使用的数据库中。

如果您需要更多信息,请告诉我。

【问题讨论】:

    标签: visual-studio-lightswitch lightswitch-2012


    【解决方案1】:

    正如 Yann 所说,它不是开箱即用的内置功能,但应该可以在代码中的 Lightswitch 中实现。

    您需要手动编写代码来进行实际同步(通过连接到 Web 服务器上的数据库并使用 SQL 查询同步数据),但因为这无法在客户端中完成(Silverlight 不支持允许使用 SQL 类)您可以使用“命令表”模式 (http://blog.pragmaswitch.com/?p=332)。

    基本上,您创建一个新表(例如 SyncRequests)并从客户端向其中添加一条记录,然后您可以使用服务器代码(通过 SyncRequests_Inserted 事件)来执行您的同步代码。

    用于同步数据库的实际代码将取决于您想要做什么(从网络数据库覆盖本地数据库中的所有数据、合并记录、仅添加新数据等)以及您的数据库结构。

    【讨论】:

      【解决方案2】:

      您可以在发布向导期间将您的桌面应用程序指向网络服务器上的数据库。还是它们是完全不同的数据库,具有完全不同的表?

      【讨论】:

      • 他们有同样的表,同样的名字。
      • 然后,按照我的建议,在发布向导期间更改连接字符串以指向 Web 服务器上的数据库。我自己没有尝试过,但它应该有效。
      • 感谢您的建议,但是。我想在主 PC 上拥有本地数据库,在 Web 服务器上拥有可共享的数据库。我的客户想要的是每月同步两个数据库一次或两次,以便将所有信息从 Web 服务器获取到他们的本地数据库中。
      • 无法使用 LightSwitch 开箱即用地同步数据库。您必须使用其他一些技术来进行数据库的实际同步。
      【解决方案3】:

      有两种方式:

      第一种方式 - 复制

      1. 您可以更改数据库以使用 MSSQL。
      2. 在数据库上启用复制。该数据库将在两个数据库之间同步。

      第二种方式——手动同步

      1. 两个数据库相互独立。
      2. 您不时地从服务器或桌面备份。
      3. 在两个数据库上运行数据库比较应用程序。

      4. 创建脚本以同步客户端数据库的数据。

      5. 创建一个脚本来同步服务器的数据库元数据。

      6. 运行更新脚本以更新服务器的元数据。

      7. 运行更新脚本来更新客户端的数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-24
        • 2016-06-12
        • 2014-10-20
        相关资源
        最近更新 更多