Я использую параллельный.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
End Sub)
и ниже - другая функция, которая отправляет 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