Witam

Mam o to taki problem, napisałem dwie aplikacje, które dopisują do tego samego pliku xml wprowadzone dane. Problem pojawia się w przypadku gdy:
Opisze to krokami następujących zdarzeń

  • programA wczyta plik xml (odczyta zapisany w nim dane)
  • programB wczyta plik xml
  • programA chce zapisać zmiany i wtedy wywala błąd (The process cannot access the file 'D:\mk.xml' because it is being used by another process.)

Moje pytanie, jak uzyskać informacje że plik został już otwarty przez inny program?

Informacja tak dała by mi możliwość wstrzymania programuB do czasu aż programA zakończy swoje działanie (zapisze zmiany)

     XmlTextReader _reader = new XmlTextReader(_plik);
     XmlDocument _doc = new XmlDocument();
     _doc.Load(_reader);

// w tym momencie programB wczytuje plik, co uniemożliwia zapisanie zmian.
_reader.Close();
_doc.Save(_plik);