Я пытался использовать предложения из других сообщений для этого и до сих пор без разрешения.При отправке запроса POST иногда он просто начинает зависать и останавливаться.Я настроил свой код следующим образом, и теперь, в принципе, если я не могу понять, почему он зависает, то ему нужно время ожидания, обработать исключение и перезапустить функцию.
For i As Integer = 0 To searchItems.Count - 1
If uri.Scheme = uri.UriSchemeHttps Then
Dim request As HttpWebRequest = HttpWebRequest.Create(url)
request.Method = "POST"
request.ContentLength = data.Length
request.ContentType = "application/xml; charset=utf-8"
request.Timeout = 20000
Dim writer As New StreamWriter(request.GetRequestStream)
Dim postBytes As Byte() = System.Text.Encoding.UTF8.GetBytes(data)
writer.Write(postBytes)
***Using oResponse As HttpWebResponse = request.GetResponse()*** ' this is where it freezes
Dim reader As New StreamReader(oResponse.GetResponseStream())
responseData = reader.ReadToEnd()
reader.Dispose()
oResponse.Close()
End Using
request.Abort()
writer.Close()
End If
End If
Next
Catch e As WebException
If e.Status = WebExceptionStatus.ProtocolError Then
....
Кто-нибудь знает, если этоошибка кодирования или что-то еще?
Хорошо, выяснил, почему он зависает ... Я пишу запрос и получаю сообщение об ошибке, не удается закрыть поток, потому что он ожидает больше байтов, даже если я установил длину содержимого