/// <summary> /// Download file asynchronously /// Performs DownloadFileCompleted callback /// </summary> public void DownloadFileAsync(Task task, string outputPath, object userTaskId) { AsyncOperation asyncOp = AsyncOperationManager.CreateOperation(userTaskId); lock (downloadJobs.SyncRoot) { if (downloadJobs.Contains(userTaskId)) { throw new ArgumentException("Task ID parameter must be unique", "userTaskId"); } downloadJobs[userTaskId] = asyncOp; } // Start the asynchronous operation. downloadWorkerEventHandler workerDelegate = new downloadWorkerEventHandler(downloadFileWorker); workerDelegate.BeginInvoke(task, outputPath, asyncOp, null, null); }
/// <summary> /// Download file asynchronously /// Performs DownloadFileCompleted callback /// </summary> public void DownloadFileAsync(Task task, string outputPath, object userTaskId) { AsyncOperation asyncOp = AsyncOperationManager.CreateOperation(userTaskId); lock (downloadJobs) { if (downloadJobs.ContainsKey(userTaskId)) { throw new ArgumentException("Task ID parameter must be unique", "userTaskId"); } downloadJobs[userTaskId] = asyncOp; } // Start the asynchronous operation. downloadWorkerEventHandler workerDelegate = new downloadWorkerEventHandler(downloadFileWorker); workerDelegate.BeginInvoke(task, outputPath, asyncOp, null, null); }