C# Microsoft文件同步-仅同步有更改的文件?
是否可以仅使用此框架同步更改?我不想每次添加要同步的文件时都重新同步整个目录。我找不到任何这样的例子?同步将进行增量同步,您不需要做什么特殊的事情来让它工作。它将只同步自上次同步以来所做的更改。框架附带的文档提供了有关如何进行同步的教程。请注意,您可以控制如何使用FileSyncOptions对象以及FileyHncScopeFilter中的不同标志来检测选择哪些文件进行同步,例如C# Microsoft文件同步-仅同步有更改的文件?,c#,sync,microsoft-sync-framework,C#,Sync,Microsoft Sync Framework,是否可以仅使用此框架同步更改?我不想每次添加要同步的文件时都重新同步整个目录。我找不到任何这样的例子?同步将进行增量同步,您不需要做什么特殊的事情来让它工作。它将只同步自上次同步以来所做的更改。框架附带的文档提供了有关如何进行同步的教程。请注意,您可以控制如何使用FileSyncOptions对象以及FileyHncScopeFilter中的不同标志来检测选择哪些文件进行同步,例如 FileSyncOptions options = FileSyncOptions.Comp
FileSyncOptions options =
FileSyncOptions.CompareFileStreams |
FileSyncOptions.ExplicitDetectChanges |
FileSyncOptions.RecyclePreviousFileOnUpdates |
FileSyncOptions.RecycleConflictLoserFiles;
FileSyncScopeFilter filter = new FileSyncScopeFilter();
filter.FileNameExcludes.Add("*.exe");
provider = new FileSyncProvider(replicaRootPath, filter, options);
provider.DetectChanges();
CompareFileStreams需要额外的开销,因为它比较文件的散列。如果未设置此标志,则仅使用文件属性。
有关详细信息,请参见MSDN页面:
FileSyncOptions options =
FileSyncOptions.CompareFileStreams |
FileSyncOptions.ExplicitDetectChanges |
FileSyncOptions.RecyclePreviousFileOnUpdates |
FileSyncOptions.RecycleConflictLoserFiles;
FileSyncScopeFilter filter = new FileSyncScopeFilter();
filter.FileNameExcludes.Add("*.exe");
provider = new FileSyncProvider(replicaRootPath, filter, options);
provider.DetectChanges();
FileSyncOptions options =
FileSyncOptions.CompareFileStreams |
FileSyncOptions.ExplicitDetectChanges |
FileSyncOptions.RecyclePreviousFileOnUpdates |
FileSyncOptions.RecycleConflictLoserFiles;
FileSyncScopeFilter filter = new FileSyncScopeFilter();
filter.FileNameExcludes.Add("*.exe");
provider = new FileSyncProvider(replicaRootPath, filter, options);
provider.DetectChanges();