[英]Progress reporting from background task
我有一個后台任務,將文件導入數據庫。 我希望用戶查看當前正在發生什么(收集文件/導入文件),當前正在處理哪個文件以及任務已進行了多長時間。 我該如何輕松地做到這一點? Model和Controller之間的交互是如此緊密,以至於我幾乎可以將導入代碼放入窗口的代碼文件中,並直接更改進度條值等。 你怎么看? 您將如何解決這個問題?
使用BackgroundWorker
,非常適合此任務。 它可以使用ReportProgress
方法將當前進度通知UI,這將在UI線程上引發ProgressChanged
事件(這意味着您不必擔心跨線程調用和Invoke
)
在許多情況下,進度條可能會誤導您,因此我建議您謹慎設定期望值。
如果最終確實將進度顯示為某種百分比,請根據文件大小考慮不同的加載時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.