Минимизируйте время блокировки файла - PullRequest
1 голос
/ 27 мая 2011

Я работаю над приложением, которое читает файл и после обработки сохраняет его обратно. Я должен держать файл в потоке, пока файл находится в обработке. Теперь проблема в том, что мне нужно минимизировать время блокировки файла.
Каково решение?

Ответы [ 2 ]

1 голос
/ 27 мая 2011

Я бы порекомендовал вам сохранить файл в MemoryStream.Когда вы пишете в MemoryStream, данные сохраняются в памяти, а не в файловой системе.После обработки вы можете позвонить MemoryStream.WriteTo для постоянного хранения данных в файловой системе.Это минимизирует время блокировки.

0 голосов
/ 27 мая 2011

Вы можете открыть дескриптор файла с помощью ShareMode, который позволяет другим процессам получать доступ к файлу. Другими словами, вы можете прочитать файл без создания эксклюзивной блокировки:

FileStream stream = File.Open("path", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...