Как дождаться сохранения файла перед выполнением следующей строки кода?
Возможный дубликат:
Является ли XMLDocument.Save атомарной операцией?
Кажется, у меня в программе есть гейзенбаг. Мне нужно экспортировать файл XML, а затем повторно импортировать его. Проблема заключается в том, что иногда до завершения сохранения XML-файла программа переходит к следующей строке, чтобы попытаться повторно импортировать ее, и из-за того, что сохранение не завершено, приложение вызывает сбой. Когда я отлаживаю его, у файла достаточно времени для сохранения, чтобы программа не вылетала.
Я мог бы использовать Thread.Sleep
но на более медленных компьютерах он все еще может зависнуть, если это займет слишком много времени.
я использую XmlDocument.Save
сохранить файл. Мне было интересно, может ли быть способ реализовать обратный вызов, когда файл полностью сохранен.
1 ответ
Подозреваю антивирус. Многие антивирусные сканеры плохо написаны и блокируют файл при его закрытии, не позволяя любой программе открывать его в течение нескольких секунд.
Смотрите этот вопрос: