BackgroundWorker有多个结果

时间:2013-09-24 14:25:50

标签: .net c#-4.0 asynchronous backgroundworker

我是C#/ .NET编程的新手,我有一个问题。

我使用BackgroundWorker从服务器获取XML数据。

问题是数据是分页的。在我得到一个页面之后,我应该检查是否有另一个页面可用并接下来获取它。

但我不想让用户等到(十几个或更多)页面被加载。由于API ToS,我无法向服务器发出并行请求(我不知道有多少页)。

我想要的是尽快显示(通过DataGridView)每页数据。某种伪 - yield

是否可以使用BackgroundWorker或者我必须使用其他东西(我使用.NET 4,VS2012)

1 个答案:

答案 0 :(得分:1)

每次后台工作人员检索页面时,都应使用public void ReportProgress(int percentProgress,Object userState)段作为状态对象调用XmlNode方法。这将触发ProgressChanged事件。

让工作人员继续运行,直到您的页面用完为止。这是一个例子:http://msdn.microsoft.com/en-us/library/vstudio/ywkkz4s1.aspx