2
我想执行一堆WebRequests,但设置了多少个可同时启动的阈值。节流WebRequests
我碰到这个LimitedConcurrencyTaskScheduler example,并试图利用它,像这样
scheduler = new LimitedConcurrencyLevelTaskScheduler(1);
taskFactory = new TaskFactory(scheduler);
...
private Task<WebResponse> GetThrottledWebResponse(WebRequest request)
{
return taskFactory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null);
}
但是我注意到,即使有1最大并发,我的任务似乎是以非FIFO顺序完成。当我将限制点放在LimitedConcurrencyLevelTaskScheduler中时,很明显它没有被使用。我想我使用TaskFactory.FromAsync的方式没有达到我的预期。
有没有适当的方法来节流WebRequests?
谢谢,这是一个简单的解决方案! – Chris