*注意:根據用戶的意見改述我的問題。Needwork on Backgroundworker
需要關於如何使用.Net的Backgroundworker線程來達到以下目的的幫助,以提高我在.Net winforms應用程序中的UI響應和性能。 當用戶點擊「計算」在UI形式按鈕,我這樣做:
1.Get從數據庫C類的列表[這通常爲約10]
2.對於每個類別C,請執行以下操作:
a。調用第三方庫,進行一些處理並計算類別價格。
b。獲取產品清單[這通常在800左右]。
c。對於每個產品,使用上面的類別價格計算其價格。
d。使用存儲的過程將每個產品的這個價格更新回數據庫中。
3.將進度更新回UI [或報告任何錯誤消息]到UI中的表單。
僅供參考,我想使用Backgroundworker進行上述步驟#c和#d。
我試着在我的方法中使用Backgroundworker。我把調用InitializeBackgroundworker()和RunWorkerAsync()放在最外層的循環[即。步驟2]。但看起來像Backgroundworker只是爲第一個類別調用。我在這裏錯過了什麼?
所以我的問題是,我在哪裏調用InitializeBackgroundworker()和RunWorkerAsync()? 我該如何確保這兩種方法可以針對每個類別進行調用?
感謝您的閱讀。
我可以想到幾個地方看 - 你可以發佈主循環的代碼? – egrunin 2010-09-02 19:17:04