使用Sync Framework 2.1将SQL Server 2008和SQL Server 2008 Express



我们已经构建了一个应用程序,该应用程序将一个中央SQL Server 2008数据库与多个客户端SQL Server 2008 Express数据库同步。

尽管此应用程序是成功的,但我们希望确保数据传输是安全的。为了做到这一点,我们正在尝试重新编写我们的应用程序,以便使用WCF实现的web服务进行同步。

下面文章中的例子看起来非常好,我已经重新编写了大部分应用程序。http://code.msdn.microsoft.com/Database-SyncSQL-Server-e97d1208#content

但是,在我们的应用程序中,我们需要将ApplyChangeFailed事件处理程序分配给本地提供程序和远程提供程序。(请参阅下面的示例代码)

((SqlSyncProvider)_syncOrchestrator.LocalProvider).ApplyChangeFailed+=新事件处理程序(SynchronizationWizardClient_ApplyChangeFailed);

((SqlSyncProviderProxy)_syncOrchestrator.RemoteProvider).ApplyChangeFailed+=新事件处理程序(SynchronizationWizardServer_ApplyChangeFailed);

由于远程提供程序现在是SqlSyncProviderProxy对象,ApplyChangeFailed事件不可用。

文章中的示例没有使用ApplyChangeFailed事件,因此在任何示例代码中都没有引用它。我认为我们需要修改一些WCF合约和类,以便能够在SqlSyncProviderProxy上设置ApplyChangeFailed。

有人知道怎么做吗?

您确定要WCF服务在每次引发ApplyChangeFailed事件时回调您的客户端吗?

WCF服务具有对SqlSyncProvider的引用,您可以在服务端处理ApplyChangeFailed事件,而无需将其发送回客户端。如果需要解决冲突,可以在服务端解决。

最新更新