*注意:根据用户的意见改述我的问题。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