首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Microsoft Sync Framework跨网络同步文件

使用Microsoft Sync Framework跨网络同步文件
EN

Stack Overflow用户
提问于 2011-01-28 12:26:09
回答 1查看 5.4K关注 0票数 9

这里给出的文件同步示例- http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=3424只讨论了在同一台机器上同步文件。有没有人遇到过使用像WCF这样的东西来使其能够在网络上对文件工作的工作示例?

科比的例子- http://bryantlikes.com/archive/2008/01/03/remote-file-sync-using-wcf-and-msf.aspx是不完整的,只是一个单向的同步,并不理想。

EN

回答 1

Stack Overflow用户

发布于 2011-11-10 06:53:59

只要您有可用的网络共享,同步框架就可以通过网络同步文件。

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

代码语言:javascript
复制
    string networkPath = @"\\machinename\sharedfolderlocation";

    FileSyncProvidor provider = new FileSyncProvider(networkPath);

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

举个例子:

代码语言:javascript
复制
    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;

这样做是为了定义两个文件同步提供程序,orchestrator将在两个方向上同步文件。它跟踪在提供程序中设置的目录中文件的创建、修改和删除。

此时需要做的就是在SyncOrchestrator上调用Synchronize:

代码语言:javascript
复制
    orchestrator.Synchronize();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4824823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档