使用流時,內存消耗應該與緩衝區的大小相同。然而,當我看下面的代碼時,我不確定流是如何工作的,它使用http請求和響應。 (HttpWebRequest的要準確)有關流和http請求/響應的問題
Stream requestStream = webRequest.GetRequestStream();
// Here write stuff to the stream, data is a string.
webRequest.ContentLength = data.Length;
byte[] buffer = Encoding.UTF8.GetBytes(data);
// Obtain request stream from request object so I can send data.
requestStream = webRequest.GetRequestStream();
requestStream.Write(buffer, 0, buffer.Length);
WebResponse response = webRequest.GetResponse();
我可以繼續寫的東西到requestStream,說在一個循環中,而不是僅僅寫一個字符串,但沒有將達到目標服務器,直到調用webRequest.GetResponse ()。 然後,在執行最後一行之前,流(如何)(或哪裏)是由流管理的數據?
除了別的,你的ContentLength可能是錯誤的。你用*字符*給出了長度,而不是以字節爲單位。你應該使用buffer.Length,而不是data.Length。 – 2010-10-18 15:27:15