问题标签 [microsoft-sync-framework]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
synchronization - 具有多个客户端和服务器数据库的 Microsoft Sync Framework
我正在对应用程序进行更改以拥有本地数据存储,而不是直接连接到数据库服务器。然后,客户端应用程序将在服务器数据库及其本地数据存储之间双向同步更改。我正在尝试使用 Microsoft Sync Framework 实现同步解决方案。需要明确的是没有服务器应用程序,只有数据库服务器,但有多个客户端。
我已经开始实现两个实现 FullEnumerationSimpleSyncProvider 的类,一个叫做 LocalSyncProvider,一个叫做 ServerSyncProvider。LocalSyncProvider 知道如何从本地数据存储中枚举、插入、更新、删除项目,而 ServerSyncProvider 知道如何从数据库服务器中枚举、插入、更新、删除项目。它们各自使用提供的 SqlMetadataStore 并将两个元数据存储(一个用于本地,一个用于服务器)存储在客户端的本地驱动器上。这意味着每个客户端都有自己的本地数据存储元数据存储和服务器数据库自己的元数据存储。
这真的可行吗,是否只需要存在一个服务器元数据存储,还是我需要以不同的方式使用同步框架?
c# - Microsoft Sync Framework clashes with Nhibernate TooManyRowsAffectedexception
We are trying to implement the Microsoft Sync Framework into our application that persists it's domain using NHibernate.
One of the problems we encountered is that after the Sync Framework has altered your initial database structure (adding shadow tables and triggers) NHibernate seems to get upset by throwing an toomanyrowsaffectedexception when you try to insert objects into the database.
I found this article that has the solution of adding SET NOCOUNT ON and OFF around each update statement, but since the table structure is automatically generated by nhibernate and the sync triggers are automatically generated by the Sync Framework adjusting all triggers manually is not really an option.
http://www.codewrecks.com/blog/index.php/2009/03/25/nhibernate-and-toomanyrowsaffectedexception/
I tried setting the sql server 2008 property NOCOUNT on as described in this question: Where's the best place to SET NOCOUNT? but this resulted in a StaleStateException (-1 rows affected, expected 1).
Do you guys know if there is a way to configure the sync framework to automatically set these NOCOUNT statements in it's triggers? Or maybe is there a way to tell NHibernate to expect more/less rows to have been changed? Or maybe any of you have an automated script to add these NOCOUNT statements to the sync framework's triggers.
Thx in advance!
wcf - WebSharingAppDemo-CEProviderEndToEnd 在任何文件批处理到服务器之前查询 peerProvider 的 NeedsScope。这似乎不正常?
我正在构建一个基于 WebSharingAppDemo-CEProviderEndToEnd 的应用程序。当我在服务器上部署服务器部分时,代码给出错误“路径无效。检查数据库的目录。” 在 CeWebSyncService.cs 文件中调用 NeedsScope() 期间。
显然,服务器无法访问客户端的 sdf,但应该发生什么才能使其工作?该应用程序使用批处理来发送数据,并且必须将批处理编组到临时目录,但是在批处理任何文件之前会发生此问题。服务器无需查看任何内容来确定 peerProivider 是否需要范围。我错过了什么?
sql-server - 同步框架:我可以同步存储过程吗
同步框架是否允许我将 sql server 2008 服务器上的存储过程与 SQL Server 2008 客户端上的存储过程同步(仅下载)?
即当服务器SP 被修改或创建新的SP 时覆盖客户端上的SP?
.net - 如何使用 Microsoft Sync Framework 在 SQL Server 2008 和 .NET Web 服务之间进行同步?
有没有人有一个如何将 MS Sync 框架与 .NET Web 服务一起使用的示例?我有 SQL Server 2008,它使用常规 Web 方法通过 Web 服务向 BlackBerry 设备公开数据。我可以使用 Sync Framework 通过 Web 服务公开数据并将其保存回数据库吗?
c# - 使用同步框架在不同身份的提供者之间同步
我正在尝试使用 Sync Framework 在 Active Directory 和提供 Web 服务的应用程序之间同步用户数据。我创建了两个 FullEnumerationSimpleSyncProvider 类,一个用于 Active Directory,一个用于 Web 服务,并创建了一个可以由两者共享的通用数据类型和元数据列。目前,它们都能够维护自己的 ReplicaId 和 Metadata 存储。
我遇到的问题是我不知道如何将一个提供者的结果匹配到另一个提供者,因为他们在各自的数据存储中没有匹配的 Id 信息,并且大多数可用于的字段将一条记录与另一条记录匹配是需要同步的潜在候选者,不能 100% 依赖于提供身份(即用户名、电子邮件等)。
Sync Framework 中是否有一种机制,我可以使用它来进行某种模糊匹配,以告诉框架如何将行从一个提供者匹配到另一个提供者,因为我没有可以创建的明确 IdentityRule 来匹配两者?有什么我想念的吗?
谢谢,马克
c# - 使用 .NET CF 安装时,如何从 Windows Mobile 获取桌面的 IP 地址?
我正在使用 .NET CF 3.5 开发一个 windows mobile 6 应用程序。我需要在设备处于支架状态时获取台式计算机的 IP 地址,以便从移动设备启动同步过程。
我试过 Dns.GetHostEntry,但这似乎返回了我的掌上电脑模拟器的 IP 地址。
有任何想法吗?
microsoft-sync-framework - 同步服务实际上并未同步
我正在尝试使用 MS Sync Services 将 SQL Server CE 3.5 数据库与 SQL Server 2008 数据库同步。我正在使用 VS 2008。我创建了一个本地数据库缓存,将其与 SQL Server 2008 连接并选择了我想要同步的表。我选择了 SQL Server 跟踪。它修改了数据库以进行更改跟踪,并创建了数据的本地副本 (SDF)。
我需要两种方式同步,因此我为同步代理创建了一个部分类,并将代码添加到 OnInitialized() 以将表的 SyncDirection 设置为双向。我已经使用了调试器,并且这段代码运行了。
然后我为缓存服务器同步提供程序创建了另一个部分类,并在 OnInitialized() 中添加了一个事件处理程序以挂钩 ApplyChangeFailed 事件。此代码也可以正常工作 - 我的代码在发生冲突时运行。
最后,我手动对服务器数据进行了一些更改以测试同步。我使用此代码触发同步:
syncStats 似乎显示了我在服务器上所做的更改的计数,并表明它们已被应用。但是,当我打开本地 SDF 文件时,没有任何更改。
我基本上按照我在这里找到的说明进行操作:
http://msdn.microsoft.com/en-us/library/cc761546%28SQL.105%29.aspx
和这里:
此时似乎这应该“正常工作”,但在服务器上所做的更改不在本地 SDF 文件中。我想我错过了一些东西,但我现在没有看到它。
我认为这可能是因为我似乎使用的是 Sync Services 版本 1,因此我删除了对 Microsoft.Synchronization.* 程序集的引用,安装了 Sync 框架 2.0 并将新版本的程序集添加到项目中。那没有任何区别。
想法?
编辑:我想启用跟踪以查看是否可以跟踪它,但唯一的方法是通过 WinForms 应用程序,因为它需要 app.config 文件中的条目(我的原始项目是一个类库)。我创建了一个 WinForms 项目并重新创建了所有内容,突然间一切正常。那么显然这出于某种原因需要一个 WinForm 项目?
这并不是我真正计划使用它的方式——我曾希望通过另一个非 .NET 应用程序开始同步并在那里提供 UI,这样最终用户的体验就更加模糊了。如果我不能这样做,那没关系,但我真的很想知道是否/如何使它作为一个类库项目工作。
sql-server-2008 - 同步和不同步 Sql Server 2008 更改跟踪
我一直坚持使用没有此机制的 2005 年启用更改跟踪的 Sql server 2008 同步。
请您指出正确的方向,我该如何处理。谢谢,
microsoft-sync-framework - 如何为 Microsoft Sync Framework 设置性能测试?
我们使用 Microsoft Sync Framework 开发了一个客户端服务器应用程序,用于在 WinForm 客户端应用程序(带有 SQL CE 本地缓存数据库)和 SQL SErver 2008 数据库服务器之间同步数据。该应用程序现已基本完成,所有功能似乎都可以正常工作。所以现在我们想用Visual Studio 2008测试版来做性能测试(在服务器上,比如模拟10个用户同时与服务器数据库同步20分钟),带宽负载测试(会产生多少网络流量),以及很快。基本上我们想模拟现实生活中的情况并查看我们的系统(使用 Sync Framework)并进行处理。
但是,由于同步的性质,我们不能只使用 VS Test 版本来创建负载测试并不断敲击服务器,因为为了正确模拟每个客户端,每个客户端都必须拥有自己的 SQLCE 本地缓存数据库。这是否意味着我需要在 10 个不同的文件夹中设置 10 个客户端,然后使用 VS 测试版来启动它们?或者有没有更好的方法来设置测试?
有没有人有为 Sync Framework 设置负载和性能测试的经验?谢谢!