2011-01-28 6 views
9

여기에 제공된 파일 동기화 예제 - http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=3424은 동일한 컴퓨터에서 파일 동기화에 대해서만 이야기합니다. WCF와 같은 것을 사용하여 네트워크를 통해 파일 작업을 수행 할 수있는 실례를 가진 사람이 있습니까?Microsoft Sync Framework를 사용하여 네트워크간에 파일 동기화

브라이언트의 사례 - http://bryantlikes.com/archive/2008/01/03/remote-file-sync-using-wcf-and-msf.aspx은 완전하지 않으며 단방향 동기화이며 이상적이지 않습니다.

+0

, 그러나 그것은 가능하지 않는 것 : 모든 것은이 시점에서 필요한

는 SyncOrchestrator에 동기화를 호출하는 것입니다. 파일 공급자는 많은 내부 클래스를 사용하므로 프록시를 사용할 방법이 없습니다. – Timores

답변

1

사용 가능한 네트워크 공유가있는 경우 Sync 프레임 워크는 네트워크에서 파일을 동기화 할 수 있습니다.

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

    FileSyncProvidor provider = new FileSyncProvider(networkPath); 

이 방식으로 양방향 동기화를 수행하는 방법은 FileSyncProvider을 만들어야합니다 다음 FileSyncProvider의 생성자에서

는 읽기 및 쓰기 권한을 가지고 네트워크 공유 위치에 rootDirectoryPath 설정 원본 및 대상 시스템 모두에 대해 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 제공을 정의하고 오케 스트레이터 양방향으로 파일을 동기화합니다. 공급자에서 설정 한 디렉터리에있는 파일의 생성, 수정 및 삭제를 추적합니다. 내가 시도

orchestrator.Synchronize(); 
+0

IP를 사용하여 네트워크 경로를 사용중인 경우 예 : "\\ 10.1.1.102 \\ sharedPath"이면 인스턴스를 만들 수 없습니다. 그것은 단지 저에게 "파일 경로의 일부를 찾을 수 없다"는 오류를주었습니다. 동일한 경로에서 usng 실행 명령에 액세스 할 수 있습니다. 무엇이 문제 일 수 있는가 ??? – Shubhit304

+0

아마도 sharedPath 이전의 \\입니까? 나는 잘 모르겠다. –

관련 문제