簡體   English   中英

如何在MVC5中停止背景刷新器上的頁面刷新或頁面關閉?

[英]How to stop backgroundworker on page refresh or page close in mvc5?

我有一個具有Excel上傳功能的MVC5應用程序,它將從excel獲取大量數據,並使用EF將其保存到數據庫中。 我正在使用backgroundworker上傳並獲得進度。 當用戶在文件上傳的中間單擊其他鏈接或頁面刷新時,如果他上傳了其他文件,則先前的進度將顯示在新上傳的中間。 我的意思是前面的過程沒有殺死。 如何解決這個問題?

bwProcess = new BackgroundWorker{ WorkerReportsProgress = true, WorkerSupportsCancellation = true };
bwProcess.DoWork += new DoWorkEventHandler(bwProcess_DoWork);
bwProcess.ProgressChanged += new ProgressChangedEventHandler(bwProcess_ProgressChanged);
bwProcess.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwProcess_RunWorkerCompleted)‌​;
Task.Run(() => bwProcess.RunWorkerAsync("AsyncWorker2"));

最好將TaskTaskCreationOptions.LongRunning選項TaskCreationOptions.LongRunning並且不要在流程中對靜態實例或“全局”實例有所TaskCreationOptions.LongRunning

看着:

var task3 = new Task(() => MyLongRunningMethod(),
                    TaskCreationOptions.LongRunning);
task3.Start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM