Cra*_*rge 9 wcf sync microsoft-sync-framework
此处给出的文件同步示例 - http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=3424仅讨论在同一台计算机上同步文件.有没有人遇到过使用类似WCF之类的工作示例,以使其适用于网络中的文件?
Bryant的例子 - http://bryantlikes.com/archive/2008/01/03/remote-file-sync-using-wcf-and-msf.aspx并不完整,只是单向同步而且不太理想.
只要您有可用的网络共享,同步框架就可以跨网络同步文件。
在 FileSyncProvider 的构造函数中,将 rootDirectoryPath 设置为您具有读写权限的网络共享位置:
string networkPath = @"\\machinename\sharedfolderlocation";
FileSyncProvidor provider = new FileSyncProvider(networkPath);
Run Code Online (Sandbox Code Playgroud)
要以这种方式进行双向同步,您需要为源系统和目标系统创建一个 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;
Run Code Online (Sandbox Code Playgroud)
其作用是定义两个文件同步提供程序,编排器将双向同步文件。它跟踪提供程序中设置的目录中文件的创建、修改和删除。
此时所需要做的就是在 SyncOrchestrator 上调用 Synchronize:
orchestrator.Synchronize();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4997 次 |
| 最近记录: |