我在代码中使用parallel.foreach为应用程序提交多个URL。最初它可以正常工作,但是几天后,我注意到这种异常经常发生。我用谷歌搜索了很多小时,但对我来说却没有运气。
说明:我们拥有Api SMS系统,客户可以通过该系统向我们提交短信,并向运营商提交大量信息。我有10个URL提交给特定的操作员,几秒钟后出现此错误,文件停止。异常消息:发生一个或多个错误。
下面是我的代码。
Parallel.ForEach(urlList,Sub(状态,行,索引)
If urlList(index).Sender.ToString = "" Then
urlList(index).response = "ignore"
Else
urlList(index).response = SendHttpRequest(state.url.ToString)
End If
urlList(index).url = state.url
结束字幕)
以下是提交HTTP请求的其他功能。
Public Function SendHttpRequest(ByVal url As String) As String
Dim responsetext As String = ""
Try
Dim webR As WebRequest = HttpWebRequest.Create(url)
webR.Timeout = 40000
Dim WebResponse As HttpWebResponse = TryCast(webR.GetResponse(), HttpWebResponse)
Dim stream As Stream = WebResponse.GetResponseStream()
Dim reader As New StreamReader(stream)
responsetext = reader.ReadToEnd()
Catch ex As Exception
responsetext = ex.ToString() & vbCrLf
End Try
Return responsetext
End Function