2014-12-01 57 views
0

這裏之前是設置:確保RavenDB 3.0文件系統同步操作

  • 有2個服務器:一個在客戶現場,一個在另一個服務器上
  • 他們兩個人之間的連接並不總是。
  • 我必須有代碼,從服務器用戶界面複製功能:文件系統>狀態>「立即同步」
  • 我必須能夠觀察過程,以確保它完成之前沒有衝突,然後移動我移動下一步。

任何人都可以指向我在Raven客戶端庫中的相應類來做到這一點嗎?例子將不勝感激。

回答

1

您正在尋找:

DestinationSyncResult[] syncResults = await store.AsyncFilesCommands.Synchronization.SynchronizeAsync(); 

這將迫使你的服務器的所有更改推到目的地和返回所有關於處理的文件,如果發生任何錯誤的詳細信息。調查由IAsyncFilesSynchronizationCommands暴露也比較方法:

store.AsyncFilesCommands.Synchronization.XXXXX  

您還可以使用被通知服務器活動的變化API機制。它的工作方式與RavenDB數據庫相同。例如:

store.Changes().Where(x => x.Direction == SynchronizationDirection.Outgoing).ForSynchronization().Subscribe(x => { });