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 文件存储在本地机器上并使用网络共享解决了这个问题。
我想实现一个简单的自定义提供程序,以在 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 文件存储在本地机器上并使用网络共享解决了这个问题。