【发布时间】:2017-12-12 09:18:12
【问题描述】:
我想实现一个简单的自定义提供程序,在 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 的示例?
请帮帮我。
【问题讨论】:
标签: c# frameworks synchronization webdav