2014-12-01 42 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 => { });