XMLDocument. Сохранить атомарную операцию?

Есть ли так или иначе другой процесс, контролирующий для файлов, созданных с помощью XMLDocument. Сохраните (), мог встретиться с частичным файлом? Это имеет какое-либо значение, если Сохраняют (), действительно ли перезапись является существующим файлом?

6
задан JC. 20 April 2010 в 19:38
поделиться

3 ответа

Я не думаю, что есть гарантия атомарности. Вы не должны зависеть от этого.

2
ответ дан 9 December 2019 в 22:31
поделиться

Если вы сохраните так, у вас не должно быть никаких проблемы.

using (var file = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None))
{
    xmlDoc.Save(file);
}
7
ответ дан 9 December 2019 в 22:31
поделиться

Запись файлов, как правило, не атомарна. Ознакомьтесь с Process Monitor , чтобы получить представление о том, что предоставляет ОС.

XmlDocument.Save (строка) использует FileShare.Read . Решение ChaosPandion указывает FileShare.None . Проверьте System.IO.FileShare на MSDN, чтобы узнать разницу.

2
ответ дан 9 December 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: