我想等待WebClient免费,所以我创建了一个等待WebClient的IsBusy属性为false的小代码
代码:
public class WebAgent : WebClient
{
public async Task<string> GetStringAsync(string uri, bool useDelay)
{
if (IsBusy) await WaitForFreedom();
return await DownloadStringTaskAsync(new Uri(uri));
}
public async Task WaitForFreedom()
{
while (IsBusy)
await Task.Delay(100);
}
}
所以我想知道这是实现这一目标的好方法还是有更好的方法来等待webclient自由,所以我没有得到并发错误?