我是C#/ .NET编程的新手,我有一个问题。
我使用BackgroundWorker
从服务器获取XML数据。
问题是数据是分页的。在我得到一个页面之后,我应该检查是否有另一个页面可用并接下来获取它。
但我不想让用户等到(十几个或更多)页面被加载。由于API ToS,我无法向服务器发出并行请求(我不知道有多少页)。
我想要的是尽快显示(通过DataGridView)每页数据。某种伪 - yield
。
是否可以使用BackgroundWorker
或者我必须使用其他东西(我使用.NET 4,VS2012)
答案 0 :(得分:1)
每次后台工作人员检索页面时,都应使用public void ReportProgress(int percentProgress,Object userState)
段作为状态对象调用XmlNode
方法。这将触发ProgressChanged
事件。
让工作人员继续运行,直到您的页面用完为止。这是一个例子:http://msdn.microsoft.com/en-us/library/vstudio/ywkkz4s1.aspx