2010-11-18 50 views
0

也許我從根本上誤解了內存映射文件的工作原理,但是,當我使用MemoryMappedFile時,如何追加到文件末尾? CreateViewAccessor只允許我創建文件當前容量的視圖追加到MemoryMappedFile?

我可以使用基礎FileStream寫入到底,而不是這種失敗的目的使用MemoryMapping? (我認爲它會緩存並寫入磁盤以及追加)。另一種選擇是高速緩存寫入和從緩存中讀取,而不是針對附加數據的存儲器流。

只是想知道常見的做法就是用內存映射文件也在不斷增長,所以我沒有再

回答

0

你不能改變大小一旦創建了存儲器映射重新發明輪子的工作。 您可以在創建地圖時指定尺寸。請參閱http://msdn.microsoft.com/en-us/library/dd987389.aspx

內存映射是某種先進的I/O技術。除非(1)本地庫需要,否則不應使用它; (2)在性能關鍵環境中需要隨機訪問。無論哪種情況,如果不理解本機(機器級)的含義,就不應該使用它。