【发布时间】:2014-04-24 20:33:57
【问题描述】:
我是 Sync Framework 的新手,我认为我在这里遗漏了一些重要和基本的东西。
我在网络上有一个源文件夹和目标文件夹。我试图以一种方式同步这两个文件夹,源→目标。
一切正常,除了当我删除源文件夹中的一些文件时,在下一次同步时,我希望这些文件在目标中被删除,但这不会发生。
我的代码sn-p:
private void SyncronizeFolders(string source, string destination)
{
FileSyncOptions options = FileSyncOptions.ExplicitDetectChanges |
FileSyncOptions.RecycleDeletedFiles | FileSyncOptions.RecyclePreviousFileOnUpdates |
FileSyncOptions.RecycleConflictLoserFiles;
FileSyncScopeFilter filter = new FileSyncScopeFilter();
filter.FileNameExcludes.Add("*.metadata");
// Create file system provider
FileSyncProvider sourceprovider = new FileSyncProvider(Guid.NewGuid(), _sourcefolder, filter, options);
FileSyncProvider destinationprovider = new FileSyncProvider(Guid.NewGuid(), _destinationfolder, filter, options);
sourceprovider.Configuration.ConflictResolutionPolicy = ConflictResolutionPolicy.SourceWins;
destinationprovider.Configuration.ConflictResolutionPolicy = ConflictResolutionPolicy.SourceWins;
// Ask providers to detect changes
sourceprovider.DetectChanges();
destinationprovider.DetectChanges();
// Synchronization of 2 Folders
SyncOrchestrator agent = new SyncOrchestrator();
agent.LocalProvider = sourceprovider;
agent.RemoteProvider = destinationprovider;
agent.Direction = SyncDirectionOrder.Upload;
agent.Synchronize();
}
【问题讨论】:
-
始终包含主要语言的标签(不包括版本),否则大多数回答该语言问题的人不会注意到您的问题。
-
当然。我会从下一次。这是我第一次在这个网站上发帖。谢谢你的建议。
-
我遇到了完全相同的问题。你有想过这个吗?
-
我认为您需要删除该行 >> filter.FileNameExcludes.Add("*.metadata");并且在所有情况下都会同步。
标签: c# file microsoft-sync-framework