У меня есть файл с отображением в памяти, и мне необходимо периодически сбрасывать его содержимое на диск, чтобы внешние продукты могли его скопировать и прочитать. На данный момент файл никогда не обновляется, пока я не закрою процесс хостинга.
Вот настройка сопоставленного файла:
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
, но он тоже не работал.