2010-04-22 61 views
1

我試圖使用設計一個syncronisation應用程序在不同的SQL Server數據庫之間同步更改。同步框架:SqlSyncProvider ItemConflicting vs ApplyChangeFailed

我想出了一個基於接收ItemConflicting事件,存儲與衝突相關的知識並解決所有離線衝突的設計。

但是,似乎我只能得到ApplyChangeFailed事件觸發。 SqlSyncProvider不使用ItemConflicting事件是否有某些原因?我是否錯誤地與事件掛鉤?

我關心的原因是ItemConlficting事件允許我簡單地記錄衝突並繼續執行其他同步,但我似乎無法使用ApplychangeFailed事件實現該方式。

回答

0

ApplyChangeFailed只是簡單地引發以指示衝突或錯誤,無論您是通過解決或指定哪一行應該贏或忽略它來解決衝突,您都應該能夠繼續執行同步過程。

不知道你的意思是通過存儲「知識」,你是指同步知識還是你指的是衝突的行?

如果這是您需要的,ApplyChangeFailed事件參數具有訪問衝突行的屬性。然後您可以截取衝突行,然後將ApplyAction設置爲繼續或RetryNextSync