public InitResourceObjectHandler(int startSecond, int endSecond, bool putIntoServer,
               AircraftDataAnalysisWinRT.DataModel.RawDataPointViewModel previewModel,
               AircraftDataAnalysisWinRT.Services.IDataReading dataReading,
                FastDataReadingResourceObject resourceObject)
                : base(startSecond, endSecond, putIntoServer,
                    previewModel, dataReading)
            {

            }
        /// <summary>
        /// 读取数据并入库
        /// </summary>
        /// <param name="startSecond"></param>
        /// <param name="endSecond"></param>
        /// <param name="putIntoServer">是否入库</param>
        /// <param name="previewModel">如果需要返回预览模型则传入空Model,数据会直接写入此对象。传空则表示不需预览</param>
        public void ReadData(int startSecond, int endSecond, bool putIntoServer,
            AircraftDataAnalysisWinRT.DataModel.RawDataPointViewModel previewModel)
        {
            m_handlers.Clear();
            FastDataReadingStepHandler deleteHandler = new DeleteExistsHandler(startSecond, endSecond,
                putIntoServer, previewModel, this) { CurrentFlight = this.Flight, Parameters = this.Parameters };
            m_handlers.Add(deleteHandler);
            deleteHandler.DoWorkAsync();//1.

            m_resourceObject = new FastDataReadingResourceObject();
            FastDataReadingStepHandler initHandler = new InitResourceObjectHandler(startSecond, endSecond,
                putIntoServer, previewModel, this, m_resourceObject) { CurrentFlight = this.Flight, Parameters = this.Parameters };
            m_handlers.Add(initHandler);
            initHandler.DoWorkAsync();//1.

            ReadSecondsHandler readSecondsHandler = new ReadSecondsHandler(startSecond, endSecond,
                putIntoServer, previewModel, this) { CurrentFlight = this.Flight, Parameters = this.Parameters };
            m_handlers.Add(readSecondsHandler);

            readSecondsHandler.StepHandlers = new List<StepSecondsFastDataReadingStepHandler>();
            //把所有单步Handler返回来
            GenerateStepHandlers(startSecond, endSecond, putIntoServer, previewModel, readSecondsHandler.StepHandlers);
            //加入总的Handler列表
            m_handlers.AddRange(readSecondsHandler.StepHandlers);


            //最终执行顺序:
            //1.先执行Delete、Init,完成后可以开始所有StepHandler
            //2.启动StepHandlers全部,开始监听所有动作
            //3.启动ReadSecondsHandler,里面对每一步的操作,都要激发StepHandlers的操作
            //4.调用GetResult,等待所有操作完成,每个类的GetResult自行负责Finalize

            //2. 启动StepHandlers全部,开始监听所有动作
            Parallel.ForEach(readSecondsHandler.StepHandlers,
                new Action<StepSecondsFastDataReadingStepHandler>(
                    delegate(StepSecondsFastDataReadingStepHandler stepHandler)
                    {
                        try
                        {
                            stepHandler.DoWorkAsync();
                        }
                        catch (Exception e)
                        {
                            LogHelper.Error(e);
                        }
                    }));

            //3. 启动ReadSecondsHandler,里面对每一步的操作,都要激发StepHandlers的操作
            readSecondsHandler.DoWorkAsync();

            //4.调用GetResult,等待所有操作完成,每个类的GetResult自行负责Finalize
            Parallel.ForEach(m_handlers,
                new Action<FastDataReadingStepHandler>(delegate(FastDataReadingStepHandler handler)
            {
                string result = string.Empty;
                try
                {
                    result = handler.GetResult();
                }
                catch (Exception ee)
                {
                    result = ee.Message + "\r\n" + ee.StackTrace;
                }

                if (!string.IsNullOrEmpty(result))
                {
                    LogHelper.Error(new Exception(result));
                }
            }));

            //所有操作完成
            return;
        }