public void TestCancelMethod(Pump pump, SourceFileItem source, MultiTaskReporterBase reporter, params ExtractItem[] items) { DataPumpBase dp = pump.GetDataPump(); DataPumpExecutionContext context = dp.Execute(source, reporter, items); context.Cancel(); }
public DeviceExtractionTask() { _reporter = new DefaultMultiTaskReporter(); _reporter.ProgressChanged += _reporter_ProgressChanged; _reporter.Terminate += _reporter_Terminated; _controler = new DataExtractControler() { Reporter = _reporter }; }
/// <summary> /// 执行数据泵。 /// </summary> /// <param name="dataPump">元数据。</param> /// <param name="source">数据源。</param> /// <param name="reporter">异步通知器。</param> /// <param name="items">提取项列表。</param> /// <returns>数据泵任务执行上下文。</returns> public static DataPumpExecutionContext Execute(this DataPumpBase dataPump, SourceFileItem source, MultiTaskReporterBase reporter, params ExtractItem[] items) { DataPumpExecutionContext context = dataPump.CreateContext(source); context.ExtractItems = items; DataPumpControllableExecutionContext contextEx = context as DataPumpControllableExecutionContext; if (contextEx != null) { contextEx.Reporter = reporter; } dataPump.Execute(context); return(context); }