none
RequestStream NotSupportedException RRS feed

  • 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

     

    Sonntag, 27. März 2011 14:51

Antworten

Alle Antworten