2012-02-25 66 views
0

我目前正在構建一個基本上同步主目錄和子目錄之間的文件的應用程序。需要使用Microsoft Sync Framework 2.0同步兩個目錄中的文件的幫助

的規則如下:

  1. 文件中孩子都必須同步到主,反之亦然。
  2. 不得在主人中刪除在子中刪除的文件。
  3. 在母版中存在的子項中刪除的文件將被同步回到子項。
  4. 在主文件夾中刪除的文件將被刪除。

到目前爲止,使用谷歌和MSDN的例子我能處理1和2,但現在我目前停留在3和4

我使用微軟的同步框架,並希望瞭解如何使用規則3和4同步框架。

規則3的問題是,當在子中刪除文件時,當同步被觸發時,它不會重新創建該文件。

對於規則4,我不知道如何做到這一點呢。任何想法都會很棒。

請幫忙。謝謝

編輯:通過在子目錄中的每個同步後刪除filesync.metadata文件,使規則3工作。不確定,但如果這會導致後來的問題。

+0

你有沒有找到一個乾淨的解決方案呢?我有點理解JuneT的評論,但不清楚如何實施該建議。我有完全相同的要求。我不確定我喜歡刪除filessync.metedata的想法是否真的是最好的方法? – ChiliYago 2013-07-08 13:00:57

回答

0

刪除filesync.metadata將刪除以前同步內容的所有信息。你正在有效地重新初始化它。我建議您截取ApplyingChange事件中的更改,跳過您不想要的更改並執行您需要執行的自定義操作。

+0

是的。我知道它會清除以前的同步數據。但是,當我保持原樣時,同步框架將不包含已被刪除的文件,因此在執行同步時不會重新創建它 – RavenXV 2012-02-27 02:48:03

+0

同步框架更改枚舉基於增量更改...檢測到刪除這就是它會應用的。如果其他副本中已刪除文件的副本沒有更改,則永遠不會被檢測到。同步基於增量更改,而不是兩個副本之間的差異。 – JuneT 2012-02-28 22:16:18

相關問題