C# Microsoft Sync Framework - WebDAV 服务器上的 MetadataStore

C# Microsoft Sync Framework - MetadataStore on WebDAV server

我想实现一个简单的自定义提供程序,以在 Microsoft 同步框架的帮助下在本地文件和 webdav 服务器之间进行文件同步。我发现的简单文件同步提供程序的唯一示例是供本地使用:https://code.msdn.microsoft.com/windowsdesktop/File-Sync-with-Simple-c497bf87/sourcecode?fileId=19013&pathId=1569663015

我的问题是我不知道如何调整 MetadataStore 以便保存在远程服务器上。以下是我对代码所做的一些更改:

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
    }

我必须更改 "OpenStore" 和 "CreateStore" 方法,但我无法覆盖 SqlMetadataStore。

你有什么建议吗?或者可能是如何为 webdav 服务实现自定义 FileSyncProvider 的示例?

请帮助我。

我通过简单地将 MetadataStore 文件存储在本地机器上并使用网络共享解决了这个问题。