Sync Framework Progress
Posted on 2010-09-19
How do you track progress in MS Sync Framework 2.1? I need to be able to monitor sync progress in bytes, as in the total number of bytes to download vs. how many have been downloaded so far. The databases I'm syncing are hundreds of megabytes large and the clients have very slow connections, sometimes dial-up speed or even less.
SqlSyncProvider.MemoryDataCacheSize allows me to batch the downloads, which is nice for slow connections, but when synchronization is in progress I have no idea what's going on.
SqlSyncProvider.BatchSpooled will tell me when a batch has been downloaded, but only AFTER it has been download. I need progress updates before and during streaming. I also need to know the total number of batches and the sizes for each beforehand.
SyncOrchestrator.SessionProgress gives me some progress notifications, but not enough. It gives me one notice at 50% of a scope and one at 100%. It can take 20+ minutes before I even get to the 50% marker, so this is worthless.