Мне нужно работать с одним файлом (чтение и запись) из РАЗНЫХ процессов. Поскольку существует конкуренция между процессами, необходимо заблокировать файл. В настоящее время регистрация осуществляется следующим образом:Атомные операции над файлом из разных процессов
const int MAX_RETRY = 50;
const int DELAY_MS = 200;
bool Success = false;
int Retry = 0;
while (!Success && Retry < MAX_RETRY)
{
try
{
using (StreamWriter Wr = new StreamWriter(ConfPath))
{
Wr.WriteLine("My content");
}
}
catch (IOException)
{
Thread.Sleep(DELAY_MS);
Retry++;
}
}
Есть ли надлежащее решение моей проблемы?
Do оба процесса делать как операции чтения и записи? –
Оба процесса могут читать и записывать в файл. – qwerty666
вы можете использовать мьютексы, см. Http://stackoverflow.com/questions/2830546/cross-user-c-sharp-mutex –