我正在使用WebClient.DownloadStringAsync将请求发送到URL。我一次发送数千个请求。基本上,在我发送请求和回调触发之间有一个延迟。我发送的请求越多,延迟就越长。在发送一个小时的请求后,延迟可能长达20分钟左右。几个小时后,延迟超过一个小时。我想知道如何在排队时尽快处理它们。
以下是一些详细信息:
我尝试了非异步代码-它花费的时间更长(每个请求大约一秒钟),所以请不要提出建议。
启动5000个请求所需的时间为91秒
完成5000个请求所需的时间为177秒
查看以下代码:
'Takes about 91 Seconds to get through this loop
Do Until i=5000
Dim wcWebClient As New System.Net.WebClient
AddHandler wcWebClient.DownloadStringCompleted, AddressOf webClient_DownloadStringCompleted
wcWebClient.DownloadStringAsync(New Uri(sURL))
i=i+1
Loop
'Takes 177 seconds before all 5000 are processed
Private Sub webClient_DownloadStringCompleted(ByVal sender As Object, ByVal e As DownloadStringCompletedEventArgs)
End Sub