В C #, если 2 процесса читают и записывают в один и тот же файл, каков наилучший способ избежать исключений блокировки процессов?

Со следующим кодом чтения файла:

using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None))
{
    using (TextReader tr = new StreamReader(fileStream))
    {
        string fileContents = tr.ReadToEnd();
    }
}

И следующий код записи файла:

using (TextWriter tw = new StreamWriter(fileName))
{
    tw.Write(fileContents);
    tw.Close();
}

Следующие детали исключения видны:

Процесс не может получить доступ к файлу «c: \ temp \ myfile.txt», поскольку он используется другим процессом.

Каков наилучший способ избежать этого? Читатель должен повторить после получения исключения или есть какой-то лучший способ?

Обратите внимание, что процесс чтения используетFileSystemWatcher знать, когда файл изменился.

Также обратите внимание, что в этом случае яне ищу альтернативные способы разделения строк между двумя процессами.

Ответы на вопрос(8)

Ваш ответ на вопрос