我在用戶控制級別使用後臺工作,並且工作正常。但是後來我將工作人員推到了其中一個輔助函數中。我的問題是它工作正常,直到我嘗試取消任務。在DoWork函數中,每次調用Web服務時都會調用Web服務,並在調用服務之前檢查取消等待,如果是,則應該打破循環。.Net背景工作者不取消
回答
1)確保您已將BackgroundWorker
的WorkerSupportsCancellation
屬性設置爲True
。
2)確保您正確地處置任何Web服務引用。 (只是因爲這是你應該做的任何事情)
你可能也想通過BackgroundWorker,並驗證取消時,取消掛起的屬性設置爲true。
如果這些東西都不起作用,那麼您可能需要考慮顯示用於創建和啓動背景工作器的代碼以及任何事件代碼(DoWork,RunWorkerCompleted等)。
EDIT(這威爾進行編輯得到移除)
你可能也想看看這個link。
從這個鏈接獲得的一個重要的事情是,即使您取消,如果工作人員已經在工作(IE:通過DoWork處理),它可能會錯過取消掛起並繼續工作。
我正在執行步驟1和步驟2,我正在使用關鍵字。但是我發現即使去CancelAsync函數,取消暫掛屬性也沒有設置爲true。 – Abain 2010-10-22 14:28:33
嗯。我看到當我編輯我的答案時,我的編輯就沒有了。現在添加我的編輯。 – 2010-10-22 14:35:49
- 1. 取消背景工作
- 2. 爲什麼背景工作者取消按鈕dosent取消背景工作操作?
- 3. C#背景工作者divison
- 4. C#多背景工作者
- 5. 多背景工作者+ C#
- 6. 背景工人自取消消息
- 7. 從背景工作者獲取不正確的值的進度
- 8. 背景/背景圖片不工作?
- 9. 背景工人不工作
- 10. 凍結異步背景工作者
- 11. 如何阻止背景工作者
- 12. 鏈中的多背景工作者
- 13. 跟蹤多個背景工作者
- 14. 從背景工作者訪問ListView
- 15. 背景工作者vs線程
- 16. WPF背景工作者錯誤
- 17. 背景工作者和垃圾收集?
- 18. 可取消背景工作,但不違反SRP
- 19. IE8 Sprite工作表背景消失
- 20. CSS背景不工作
- 21. Css背景不能工作?
- 22. $ uibModal背景假不工作
- 23. 的android:背景不工作
- 24. 背景顏色不工作
- 25. 背景圖像不工作
- 26. 背景不工作在IE8
- 27. 背景位置不工作
- 28. 背景色不工作
- 29. 背景顏色不工作
- 30. 背景圖像不工作
發佈您的一些代碼。 – 2010-10-21 14:08:25
你如何打電話給你的網絡服務? – 2010-10-21 14:12:11
哪種語言? (這個解決方案在不同的.NET語言中有不同的語法,例如在VB.NET中,你是否用「WithEvents」聲明你的BackgroundWorker,然後聲明你的後臺工作者入口點爲Handles(me).RunWorkerCompleted?...,以便它將實際上得到它的停止事件。) – 2010-10-21 14:15:56