Вы можете открыть файл для записи и заблокировать доступ только для записи, тем самым позволяя другим пользователям по-прежнему читать файл.
Например,
using (FileStream stream = new FileStream(@"C:\Myfile.txt", FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
{
// Do your writing here.
}
Доступ к другим файлам просто открывает файл для чтения и не записи и позволяет совместное использование readwrite.
using (FileStream stream = new FileStream(@"C:\Myfile.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
// Does reading here.
}
Если вы хотите, чтобы читатели всегда читали обновленный файл, вам нужно будет либо использовать файл блокировки, который указывает, что кто-то пишет в файл (хотя вы можете получить условие состязания, если не выполнить его тщательно). ) или убедитесь, что вы блокируете совместное использование записи при открытии для чтения и обработки исключения, чтобы вы могли повторить попытку, пока не получите эксклюзивный доступ.