private static void UploadCompleted(BackgroundCopyJobEventArgs e, AutoResetEvent autoResetEvent, long totalFiles, long totalBytes) { var job = e.Job; job.Complete(); Assert.AreEqual(totalFiles, job.Progress.FilesTotal); Assert.AreEqual(totalBytes, job.Progress.BytesTransferred); // Enable: Debug > Options > Debugging > General: Redirect all Output Window text to the Immediate Window Debug.WriteLine($"Completed job: {job.DisplayName} | Total files: {job.Progress.FilesTotal:N0} | Bytes: {job.Progress.BytesTotal:N0}"); autoResetEvent.Set(); }
// Better performance when event methods are defined seperately, preferably static. private static void OnUploadError(object s, BackgroundCopyJobEventArgs e) { throw e.Job.LastError; }
void job_Completed(object sender, BackgroundCopyJobEventArgs e) { TimeSpan ts = e.Job.TransferCompletionTime - e.Job.CreationTime; AddListItemMethod(string.Format("Job '{0}' completed in {1} seconds.", e.Job.DisplayName, ts.Seconds)); }