Benutzer mit den meisten Antworten
RequestStream NotSupportedException

Frage
-
Hallo zusammen,
folgende Code:
byte[] header = Encoding.UTF8.GetBytes(sbHeader.ToString()); byte[] footer = Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n"); FileStream fileData = new FileStream(file, FileMode.Open, FileAccess.Read); long contentLength = header.Length + fileData.Length + footer.Length; webrequest.ContentLength = contentLength; using (Stream requestStream = webrequest.GetRequestStream()) { requestStream.Write(header, 0, header.Length); if (fileData != null) { byte[] buffer = new Byte[checked((uint)Math.Min(4096, (int)fileData.Length))]; int bytesRead; while ((bytesRead = fileData.Read(buffer, 0, buffer.Length)) != 0) { requestStream.Write(buffer, 0, bytesRead); } fileData.Close(); } requestStream.Write(footer, 0, footer.Length); }
Der Code ist ein Teil vom einem POST-Multipart-Webrequest.
Folgende Zeile läuft auf einen System.NotSupportedException "Der Stream unterstützt keine gleichzeitigen E/A-Lese- oder Schreibvorgänge."
requestStream.Write(buffer, 0, bytesRead);
Die Zeile befindet sich in einer While-Schleife, die ersten 2 Druchläufe funktionieren noch.
Mit requestStream.Flush() funktioniert es auch nicht.
Kann mir bitte jemand sagen, wieso weshalb warum?
Vielen Dank
Antworten
-
Hi Frank,
danke für die Antwort!
Habe mein Problem endlich gefunden:
webrequest.SendChunked = true; <--- hat gefehlt :-(Gruß
- Als Antwort vorgeschlagen Frank Dzaebel Sonntag, 27. März 2011 18:33
- Als Antwort markiert Robert BreitenhoferModerator Montag, 28. März 2011 07:07
Alle Antworten
-
Hallo T.,
Hier eine Lösung in einem ähnlichen Szenario dazu mit Beispiel-Download:
http://social.msdn.microsoft.com/Forums/de-DE/visualcsharpde/thread/77e41c94-98ba-4992-8bae-738c84bdd396#d2752e49-77b7-40ce-92f9-84dc2399b442
es fehlt auch noch Quellcode, wie etwa:HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url); webrequest.Method = "POST";
ciao Frank- Bearbeitet Frank Dzaebel Sonntag, 27. März 2011 16:34 Link korrigiert
-
Hi Frank,
danke für die Antwort!
Habe mein Problem endlich gefunden:
webrequest.SendChunked = true; <--- hat gefehlt :-(Gruß
- Als Antwort vorgeschlagen Frank Dzaebel Sonntag, 27. März 2011 18:33
- Als Antwort markiert Robert BreitenhoferModerator Montag, 28. März 2011 07:07