只要您有可用的网络共享,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;
这样做是什么定义两个filesync提供商和协调器将在两个方向上的文件同步。它跟踪在提供程序中设置的目录中创建,修改和删除文件。
所有这一切需要在这一点上是调用同步的SyncOrchestrator:
orchestrator.Synchronize();
我试过了,但它似乎并不可能。文件提供程序使用了很多内部类,我无法代理它们。 – Timores 2012-01-16 13:15:36