在一个数据库中,我有 30k 个用户,每个用户都有一个指定的电话号码。对于每个电话号码,我将调用一个 Web 服务,该服务会为用户提取一些信息。很多用户没有在webservice中呈现,所以我只会收到null,但我不知道哪些用户,并且可以不时呈现新用户。网络服务会实时更新,所以新的结果会时不时出现。如果响应不为空,并且收到的文件与上次收到的文件不同,我会从收到的 XML 文件创建一个 PDF 文档。
Web 服务调用由计划任务启动,该任务启动具有以下伪代码的 .aspx 站点:
Foreach phonenumber {
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("webservice/phonenumber");
using (StreamReader reader = new StreamReader(webResponse.GetResponseStream()))
{
makePdf();
}
}
当然,问题是请求需要很长时间。对于 30k 用户来说,大约需要 7 个小时。我曾尝试查看异步 Web 服务调用,但无法正常工作。有人可以指出我正确的方向 - 如果可能的话 - 或者告诉我应该如何去做?
谢谢