C# Microsoft Sync Framework - хранилище метаданных на сервере WebDAV

Я хотел бы реализовать простой пользовательский поставщик для синхронизации файлов между локальными файлами и сервером webdav с помощью Microsoft Sync Framework. Единственный пример для простого провайдера синхронизации файлов, который я нашел, предназначен для локального использования: 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.

У вас есть какие-нибудь предложения? Или, может быть, пример, как реализовать пользовательский FileSyncProvider для сервисов webdav?

Пожалуйста, помогите мне.

1 ответ

Решение

Я исправил эту проблему, просто сохранив файлы MetadataStore на локальном компьютере и используя сетевые ресурсы.

Другие вопросы по тегам