Не удается закрыть поток, пока не будут записаны все байты
Я отправляю POST-запрос на сервер API, и я повторно использовал код, где я успешно сделал это раньше на других серверах, и по какой-то причине, которую я не могу понять, почему, он не работает. Я получаю ошибку:
" не удается закрыть поток, пока не будут записаны все байты."
Несмотря на то, что я правильно объявил длину содержимого, и я не уверен, что я здесь упускаю...
data = data + "</posts>"
Dim postBytes As [Byte]() = Encoding.UTF8.GetBytes(data)
Thread.Sleep(10000)
track = data
If uri.Scheme = uri.UriSchemeHttps Then
Dim request As HttpWebRequest = HttpWebRequest.Create(url)
request.Method = "POST"
' / / Обычно я просто использую запрос.contentlength = постбайты.длина или данные.длина
request.ContentLength = System.Text.Encoding.UTF8.GetByteCount(data)
request.ContentType = "application/xml"
request.KeepAlive = False
request.Timeout = 120000
request.Credentials = New System.Net.NetworkCredential("xxxxxxxxxxxx", "xxxxxxxxx")
Using writer As New StreamWriter(request.GetRequestStream(), Encoding.UTF8)
writer.Write(postBytes)
writer.Flush()
writer.Close()
End Using
Using oResponse As HttpWebResponse = request.GetResponse()
Dim reader As New StreamReader(oResponse.GetResponseStream())
responseData = reader.ReadToEnd()
reader.Close()
oResponse.Close()
End Using
request.Abort()
End If
End If
Catch e As WebException
....