4
我們有一個長時間運行的操作,可以取消很多點。如果我們要使用任務取消標記方法,我們需要確保我們在每個需要的地方檢查取消。如何取消可以在多個點取消的長時間運行?
這對我們來說似乎並不理想。我們看到了兩個問題在這裏:
- 我們需要一個取消標記檢查,在每一個地方有註銷,我們感到雜波的代碼,並沒有錯過在代碼點的潛在機會的地方在哪 有還有其他的取消機會。
- 如果我們遵循指導來避免全局變量,我們需要將取消標記作爲參數傳遞給許多方法,我們認爲這些方法是重複性的並且混亂了代碼。
我們是否應該使用全局取消令牌來處理2.?我們是否應該使用AppDomain
來處理1.和2.?
有關使用'AppDomain'的說法? – beluchin
@beluchin這取決於你的意思是什麼「使用AppDomain」 - 但我在我的最後一段中解決了這個問題...... –
完全同意答案。這是遵循的正確模式。我不認爲這種方法會「混亂」代碼,將令牌作爲參數傳遞給每個參與方法實際上使合同清晰明確,表明該方法支持取消。 –