使用Microsoft Sync Framework在网络中同步文件

9

我尝试了,但似乎不可能。文件提供器使用了许多内部类,我看不到代理它们的方法。 - Timores
1个回答

2

只要有可用的网络共享,Sync框架就可以在网络上同步文件。

在FileSyncProvider的构造函数中,将rootDirectoryPath设置为您具有读写权限的网络共享位置:

    string networkPath = @"\\machinename\sharedfolderlocation";

    FileSyncProvidor provider = new FileSyncProvider(networkPath);

要以这种方式执行双向同步,您需要为源系统和目标系统创建FileSyncProvider,并使用SyncOrchestrator来为您完成繁重的工作。

示例:

    string firstLocation = @"\\sourcemachine\sourceshare";
    string secondLocation = @"\\sourcemachine2\sourceshare2";

    FileSyncProvidor firstProvider = new FileSyncProvider(firstLocation);
    FileSyncProvidor secondProvider = new FileSyncProvider(secondLocation);

    SyncOrchestrator orchestrator = new SyncOrchestrator();
    orchestrator.LocalProvider = firstProvider;
    orchestrator.RemoteProvider = secondProvider;
    orchestrator.Direction = SyncDirectionOrder.DownloadAndUpload;

这段代码定义了两个文件同步提供程序,编排程序将双向同步这些文件。它跟踪在提供程序中设置的目录中的文件创建、修改和删除。
此时所需的是调用SyncOrchestrator上的Synchronize方法即可。
    orchestrator.Synchronize();

如果我使用IP的网络路径,例如“\10.1.1.102\sharedPath”,那么它无法创建实例。 它只是给我一个错误,说“找不到文件路径的一部分”。 我能够使用运行命令访问相同的路径。 问题可能是什么? - Shubhit304
也许是在 sharedPath 前面加上了 \?我不确定。 - Phil Patterson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接