【发布时间】:2013-11-17 16:40:18
【问题描述】:
我一直在尝试使用 Microsoft Sync 框架构建一种更新机制,该框架将检查一个文件夹 (A) 中的更改并在另一个文件夹 (B) 上进行更新。我有一个问题,我的同步总是覆盖另一个文件夹 (B) 上的文件。当我将 ConflictResolutionPolicy 设置为 source wins 或 merge 时会发生这种情况。我希望用户能够说是覆盖或不跳过。可能就像我们在复制文件以及同名文件之间存在冲突时出现的windows对话框一样。如果有人可以帮助我,或者在文件之间存在冲突时给我一些关于如何获得此对话框功能的文档,我将不胜感激。
这就是我现在所做的,但我无法让它做任何事情。有些文件具有相同的名称但时间戳不同,它们必须触发冲突,但不幸的是在我的情况下不会。
private void OnItemConflicting(object sender, ItemConflictingEventArgs args)
{
args.SetResolutionAction(ConflictResolutionAction.SaveConflict);
Console.WriteLine(" Conflict detected for item " + args.DestinationChange.ItemId.ToString());
}
private void OnItemConstraint(object sender, ItemConstraintEventArgs args)
{
args.SetResolutionAction(ConstraintConflictResolutionAction.RenameDestination);
ConstraintConflictResolutionAction.RenameDestination.ToString();
Console.WriteLine(" Constraint conflict detected" + args.DestinationChange.ItemId.ToString());
}
【问题讨论】:
标签: c# microsoft-sync-framework