我正在使用像
这样的功能开发一个Web应用程序来浏览网络论坛的页面public IEnumerable<HtmlDocument> GetPages(int pageNumMax = Int32.MaxValue)
{
for(int i = 0; i <= pageNummax; ++i)
{
var pagedoc = GetHtmlFromUrl($"http://someforum.com?page={i}");
if(pagedoc == null) // couldn't get; assume page doesn't exist
yield break;
else
yield return pagedoc;
}
}
我想要两个包装功能
public HtmlDocument GetFirstPage()
{
return GetPages(0).SingleOrDefault();
}
public IEnumerable<HtmlDocument> FullScan()
{
return GetPages();
}
以这样的方式运行
FullScan
,或者如果最后一次FullScan
在5分钟后没有完成,请在完成后再次运行GetFirstPage
,或者如果当前有超过3个运行,请等到1完成后再运行下一个。问题:
GetFirstPage
?