private void DoExportTask(string template, string fileName, IQueryable query) { using (BackgroundWorker bw = new BackgroundWorker()) { bw.WorkerReportsProgress = true; bw.ProgressChanged += new ProgressChangedEventHandler(Bw_ProgressChanged); bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(Bw_RunWorkerCompleted); bw.DoWork += (bgWorker, e) => { ExportManager.EntityToExcel(template, fileName, query, _manager.Context, bgWorker); _message.ShowMessage(string.Format("{0}{1}", Constant.msgExportComplete, fileName)); }; bw.RunWorkerAsync(); } }