Как дождаться сохранения файла перед выполнением следующей строки кода?

Возможный дубликат:
Является ли XMLDocument.Save атомарной операцией?

Кажется, у меня в программе есть гейзенбаг. Мне нужно экспортировать файл XML, а затем повторно импортировать его. Проблема заключается в том, что иногда до завершения сохранения XML-файла программа переходит к следующей строке, чтобы попытаться повторно импортировать ее, и из-за того, что сохранение не завершено, приложение вызывает сбой. Когда я отлаживаю его, у файла достаточно времени для сохранения, чтобы программа не вылетала.

Я мог бы использовать Thread.Sleep но на более медленных компьютерах он все еще может зависнуть, если это займет слишком много времени.

я использую XmlDocument.Save сохранить файл. Мне было интересно, может ли быть способ реализовать обратный вызов, когда файл полностью сохранен.

1 ответ

Решение

Подозреваю антивирус. Многие антивирусные сканеры плохо написаны и блокируют файл при его закрытии, не позволяя любой программе открывать его в течение нескольких секунд.

Смотрите этот вопрос:

Другие вопросы по тегам