Nicht schließen, stream, bis alle bytes geschrieben werden

Ich bin das senden einer POST-Anforderung an eine API-server und ich habe wiederverwendet code, wo ich erfolgreich auch schon gemacht auf anderen Servern und aus irgendeinem Grund, ich kann nicht herausfinden, warum es nicht funktioniert. Ich bekomme die Fehlermeldung:

"Nicht schließen, stream, bis alle bytes geschrieben werden."

obwohl ich erklärte, die Länge des Inhalts korrekt und ich bin mir nicht sicher, was ich hier vermisst...

            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"

' //normalerweise benutze ich nur Anfrage.contentlength = postbytes.Länge oder Daten.Länge

                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

....

  • Nevermind, es herausgefunden.
  • Ihre eigene Frage zu beantworten, so können wir alle lernen und akzeptieren, Ihre eigene Antwort zu "schließen" die Frage... hey, wenn genug Leute abstimmen, die Antwort bis, erhalten Sie sogar ein Abzeichen IIRC!
InformationsquelleAutor vbNewbie | 2010-12-14
Schreibe einen Kommentar