Wcf 使用Microsoft Sync Framework跨网络同步文件
这里给出的文件同步示例只讨论在同一台机器上同步文件。有没有人遇到过这样一个工作示例,即使用类似WCF的东西使其能够在网络上对文件工作Wcf 使用Microsoft Sync Framework跨网络同步文件,wcf,sync,microsoft-sync-framework,Wcf,Sync,Microsoft Sync Framework,这里给出的文件同步示例只讨论在同一台机器上同步文件。有没有人遇到过这样一个工作示例,即使用类似WCF的东西使其能够在网络上对文件工作 Bryant的示例-不完整,只是单向同步,不太理想。只要您有可用的网络共享,同步框架就可以跨网络同步文件 在FileSyncProvider的构造函数中,将rootDirectoryPath设置为您具有读写权限的网络共享位置: string networkPath = @"\\machinename\sharedfolderlocation";
Bryant的示例-不完整,只是单向同步,不太理想。只要您有可用的网络共享,同步框架就可以跨网络同步文件 在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”,则它无法创建实例。它只是给我一个错误,“找不到文件路径的一部分”。我能够访问usng run命令的路径相同。可能是什么问题???可能是\\before sharedPath?我不确定。