我正在开发一个Web应用程序,它将负责从不同网站下载一些HTML文档。
public ActionResult DownloadHTML (List<string> URLs)
{
foreach (var URL in URLs)
{
var client = new WebClient();
client.DownLoadStringAsync(URL);
var result = DoSomethingElse(URL)
}
return Json(Success = true)
}
目前,我已经对10个用户进行了测试,因此到目前为止,我没有任何问题。但是,当1万人尝试执行相同的功能并从网站下载HTML文档时该怎么办?我既不希望通过发送数百万个请求来给任何网站带来问题,也不希望我的应用程序不可靠。
我当时想在服务器的缓存中创建某种队列,并在请求数量大于一定数量时随时间执行每个请求。不知道这是否可行或可行。
预防/处理这种情况的最佳方法是什么?
感谢您的帮助