2012-08-02 105 views
1

我們構建了一個應用程序,可以將中央SQL Server 2008數據庫與多個客戶端SQL Server 2008 Express數據庫進行同步。使用Sync Framework 2.1將SQL Server 2008和SQL Server 2008 Express與WCF同步

雖然這個應用程序是成功的,我們希望確保數據的傳輸是安全的。爲了做到這一點,我們試圖重新編寫我們的應用程序來使用WCF實現的Web服務進行同步。

下面的文章中的例子看起來非常好,我設法重寫了我們的大部分應用程序。 http://code.msdn.microsoft.com/Database-SyncSQL-Server-e97d1208#content

但是,在我們的應用程序中,我們需要將ApplyChangeFailed事件處理程序分配給本地提供程序和遠程提供程序。 (請參閱下面的示例代碼)

((SqlSyncProvider)_syncOrchestrator.LocalProvider).ApplyChangeFailed + = new EventHandler(SynchronisationWizardClient_ApplyChangeFailed); ((SqlSyncProviderProxy)_syncOrchestrator.RemoteProvider).ApplyChangeFailed + = new EventHandler(SynchronisationWizardServer_ApplyChangeFailed);

由於遠程提供程序現在是SqlSyncProviderProxy對象,因此ApplyChangeFailed事件不可用。

本文中的示例不使用ApplyChangeFailed事件,因此在任何示例代碼中都沒有對它的引用。我假設我們需要修改一些WCF合約和類,以便能夠在我們的SqlSyncProviderProxy上設置ApplyChangeFailed。

有誰知道這可以做到嗎?

回答

1

您確定您希望WCF服務在每次引發ApplyChangeFailed事件時都回撥您的客戶端嗎?

WCF服務具有對SqlSyncProvider的引用,您可以在服務端處理ApplyChangeFailed事件,而無需將其發送回客戶端。如果你需要解決衝突,你可以在服務端解決它。配置後

+0

服務器側的SqlSyncProvider剛添加: serverProvider.ApplyChangeFailed + =新的EventHandler (ServerProvider_ApplyChangeFailed); – Brent 2013-12-20 13:29:45

相關問題