Il framework Sync può sincronizzare i file attraverso la rete finché si dispone di una condivisione di rete disponibile.
Nel costruttore della FileSyncProvider impostare la rootDirectoryPath ad un percorso di condivisione di rete di avere permessi di lettura e scrittura per:
string networkPath = @"\\machinename\sharedfolderlocation";
FileSyncProvidor provider = new FileSyncProvider(networkPath);
Per eseguire una sincronizzazione a due vie in questo modo sarà necessario creare un FileSyncProvider sia per i sistemi di origine che di destinazione e usa SyncOrchestrator per eseguire il sollevamento pesante per te.
Un esempio:
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;
Quello che fa è definire due fornitori FileSync e l'orchestratore sarà sincronizzare i file in entrambe le direzioni. Tiene traccia di creazioni, modifiche ed eliminazioni di file nelle directory impostate nei provider.
Tutto ciò che è necessario a questo punto è quello di chiamare Sincronizza lo SyncOrchestrator:
orchestrator.Synchronize();
fonte
2011-11-09 22:53:59
ho provato, ma non sembra possibile. Il provider di file utilizza molte classi interne e non vedo alcun modo per delegarle. – Timores