2017-07-08 99 views
0

我想實現一個簡單的自定義提供程序,以在Microsoft的同步框架的幫助下在本地文件和webdav服務器之間進行文件同步。我發現的一個簡單的文件同步提供程序的唯一例子是本地使用:https://code.msdn.microsoft.com/windowsdesktop/File-Sync-with-Simple-c497bf87/sourcecode?fileId=19013&pathId=1569663015C#微軟同步框架-WebDAV服務器上的MetadataStore

我的問題是,我不知道如何調整MetadataStore以便保存在遠程服務器上。下面是我對代碼做了一些改變:我會改變「OpenStore」和「CreateStore」方法

public MySimpleSyncFileProvider(Guid guidReplica, string rootFolder) 
    { 
     this._replicaId = new SyncId(guidReplica); 
     this._rootFolder = "/"; 

     // Find location for metadata store 
     string metaDir = Path.Combine(_rootFolder, ".metadata"); 
     WebDAV.CreateDirectory(metaDir); 
     WebDAV.SetAttributes(metaDir, WebDAVFileAttribute.isHidden); 

     string metadataPath = Path.Combine(_rootFolder, ".metadata\\filemeta"); 

     // Open it 
     if (WebDAV.Exists(metadataPath)) 
      this._metadataStore = SqlMetadataStore.OpenStore(metadataPath); //TODO 
     else 
      this._metadataStore = SqlMetadataStore.CreateStore(metadataPath); //TODO 
    } 

,但我沒能覆蓋SqlMetadataStore。

你有什麼建議嗎?或者可能是一個示例如何爲webdav服務實現自定義FileSyncProvider?

請幫幫我。

回答

0

我通過簡單地將MetadataStore文件存儲在本地計算機上並使用網絡共享來解決了這個問題。