2010-05-07 50 views

回答

5

不,但你当然可以同步或异步复制数据。

  • 分配一个缓冲器(如4KB大小左右)
  • 执行读取,这将要么返回数量的字节读出或0,如果流的末尾已到达
  • 如果数据是接收时,读取写读的量和循环到

像这样:

using (Stream answer = webResp.GetResponseStream()) { 
    byte[] buffer = new byte[4096]; 
    for (int read = answer.Read(buffer, 0, buffer.Length); read > 0; read = answer.Read(buffer, 0, buffer.Length)) { 
     Response.OutputStream.Write(buffer, 0, read); 
    } 
} 
3
This answer

有一个方法CopyStream在流之间复制数据(并且还指示在.NET 4中执行此操作的内置方法)。

你可以这样做:

using (stream answer = WebResp.GetResponseStream()) 
{ 
    CopyStream(answer, Response.OutputStream); 
    Response.Flush(); 
}