Basic Progress
ISynchronizeTask
has a member called TaskStage
that allows you to report progress for the synchronize action. The following example demonstrates basic progress reporting:
task.TaskStage.Maximum = 20; for (int ii = 0; ii < 20; ++ii) { // Do work task.TaskStage.IncrementProgress(); }
The first line indicates that the maximum “progress” for a stage is 20. This means that when 20 units of progress have been made the task is 100% complete.
The code after that calls IncrementProgress()
to increment the progress 20 times. If you put this code in the body of the Synchronize
method you would therefore see progress increase by 5% increments, eventually reaching 100%.
If you knew that the synchronize action would involve retrieving 425 documents (for example) you could task.TaskStage.Maximum
to 425 and then call IncrementProgress()
after processing each document