see on GitHub

Commands : StartAsync

The StartAsync method is used to manually force the synchronization to the destinations. It has two overloads that allow you either to synchronize all the files which require that or to synchronize just one specified file.

Synchronization of all destinations

Task<DestinationSyncResult[]> StartAsync(bool forceSyncingAll = false);

forceSyncingAll bool Determines whether finished synchronization should schedule a next pending one (there can be only a limited number of concurrent synchronizations to a destination file system). The reports of such synchronizations will not be included in DestinationSyncResult object.

Return Value
Task<DestinationSyncResult[]> A task that represents the asynchronous synchronization operation. The task result is an array of DestinationSyncResult object that contains reports about performed operations.


DestinationSyncResult[] results = await store.AsyncFilesCommands.Synchronization

foreach (var destinationSyncResult in results)
	Console.WriteLine("Reports of synchronization to server {0}, fs {1}", 
		destinationSyncResult.DestinationServer, destinationSyncResult.DestinationFileSystem);

	if(destinationSyncResult.Exception != null)

	foreach (var fileReport in destinationSyncResult.Reports)
		Console.WriteLine("\tFile {0} synchronization type: {1}", fileReport.FileName, fileReport.Type);

Synchronization of a particular file to a single file system

Task<SynchronizationReport> StartAsync(string filename, SynchronizationDestination destination);

filename string The full file name
destination SynchronizationDestination The destination file system

Return Value
Task<SynchronizationReport> A task that represents the asynchronous file synchronization operation. The task result is a SynchronizationReport.


SynchronizationReport syncReport = await store.AsyncFilesCommands.Synchronization
														new SynchronizationDestination
															FileSystem = "NorthwindFS",
															ServerUrl = "http://localhost:8081/"