我正在使用Sync Framework v1(其中包括针对ADO.NET v2的同步服务)和针对移动设备v1的同步服务。
我可以将SQL Compact Edition数据库从移动设备同步到桌面PC上的SQL Express。
我还可以使用WCF将SQL CE数据库从桌面PC同步到Web服务器上的SQL Server数据库。
我希望在停靠时从移动设备同步到桌面,然后让桌面PC与网络服务器同步(桌面计算机上的副本以防万一网络连接不可靠)。
理想情况下,我还是想避免使用SQL Express,因为我想要移动设备。桌面设置尽可能简单。
不幸的是,看起来没有办法将这些部分组合在一起以建立我需要的连接,因为:
这是不可能的,或者是否有大量代码(自定义SyncProviders和手工制作的更新语句等),或者我错过了一些明显的东西?
感谢您的时间! 标记
答案 0 :(得分:2)
我对实时应用程序使用相同的基本设置,并且它运行良好。我让移动设备使用Web服务与服务器同步(WCF也可以),我的桌面应用程序有点同步like this,一切都很顺利。
一般来说,让客户端与服务器同步然后与服务器同步是一个坏主意,因为那时你必须管理更多状态,而常用的工具和指南对你没有多大帮助。
我还建议不要使用SQL合并复制,除非你认为自己是管理SQL的专家,因为如果你现在不是一个,那么当你感觉安全使用它时你就会成为一个。< / p>
请注意,如果您愿意花时间和精力制作自己的Sync Framework提供程序,那么您会发现很少有人无法做到。
答案 1 :(得分:1)
我认为'预期'模式是在桌面上使用SQl Express并使用合并复制到服务器。
我不希望您可以在桌面上使用SqlCe作为Sync框架的“服务器”端。其中,SqlCe是单用户,不适用于SyncAgent。即使在您的情况下看起来似乎也可行。
可能有效的方法是将Mobile与服务器同步,将桌面与服务器同步。但我意识到这并不能解决您的连接问题,并且可能会使PC上的副本变得多余。