我收到以下異常:在C#中有沒有替代System.IO.BufferedStream?
System.NotSupportedException : This stream does not support seek operations.
at System.Net.Sockets.NetworkStream.Seek(Int64 offset, SeekOrigin origin)
at System.IO.BufferedStream.FlushRead()
at System.IO.BufferedStream.WriteByte(Byte value)
以下網站顯示,這是微軟的一個已知的問題。 http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=273186
此堆棧跟蹤顯示兩件事情:
- 的System.IO.BufferedStream做一些荒謬的指針移動操作。 BufferedStream應該緩衝基礎流而不是更多。如果有這樣的查找操作,緩衝區的質量將會很差。
- 對於不支持Seek的流,它將永遠不會運行穩定。
有沒有其他的選擇? 我需要一個緩衝區與C#中的NetworkStream一起,還是已經被緩衝了。
編輯:我想簡單地減少對底層套接字流的讀/寫調用次數。
作爲寫入操作的結果,您是做了尋找還是做了它? – 2009-02-15 19:55:56
如何在堆棧跟蹤中看到我只調用WriteByte()。問題是寫操作時在讀緩衝區中有數據。 – Horcrux7 2009-02-15 20:01:55