2017-07-08 108 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文件存储在本地计算机上并使用网络共享来解决了这个问题。