/// <summary> /// Start one of 3 possible field-processing tasks /// </summary> private void processFieldAsync(string filePath, IProcessingSettings settings, object taskId) { AsyncOperation asynOp = AsyncOperationManager.CreateOperation(taskId); lock (processJobs.SyncRoot) { if (processJobs.Contains(taskId)) { throw new ArgumentException("Task ID parameter must be unique", "taskId"); } processJobs[taskId] = asynOp; } processFieldWorkerEventHandler workerDelegate = new processFieldWorkerEventHandler(processFieldWorker); workerDelegate.BeginInvoke( filePath, settings, asynOp, null, null); }
/// <summary> /// Start one of 3 possible field-processing tasks /// </summary> private void processFieldAsync(string filePath, IProcessingSettings settings, object taskId) { AsyncOperation asynOp = AsyncOperationManager.CreateOperation(taskId); lock (processJobs) { if (processJobs.ContainsKey(taskId)) { throw new ArgumentException("Task ID parameter must be unique", "taskId"); } processJobs[taskId] = asynOp; } processFieldWorkerEventHandler workerDelegate = new processFieldWorkerEventHandler(processFieldWorker); workerDelegate.BeginInvoke( filePath, settings, asynOp, null, null); }