无法在不停止主机进程的情况下将内存映射文件刷新到磁盘

时间:2011-12-07 10:02:12

标签: c# stream memory-mapped-files

我有一个内存映射文件,需要定期将其内容刷新到磁盘,以便外部产品可以复制并读取它。目前,在我关闭托管过程之前,文件永远不会更新。

以下是映射文件的设置:

  

MemoryMappedFile _memoryMappedFile =   MemoryMappedFile.CreateFromFile(fileName,FileMode.OpenOrCreate,   cacheName,maxBytes,MemoryMappedFileAccess.ReadWrite);

     

MemoryMappedViewStream _viewAccessor =   _memoryMappedFile.CreateViewStream();

以下是我写信给我的方式:

  

byte [] message = Encoding.UTF8.GetBytes(content);

     

_viewAccessor.Write(message,0,message.Length);   _viewAccessor.Flush();

理想情况下,我计划每分钟调用一次flush方法,但此刻它似乎没有任何效果。我怎样才能让它冲洗?

注意:我也尝试使用MemoryMappedViewAccessor类型,但也无效。

0 个答案:

没有答案