Я хочу иметь возможность писать XML-файл с XmlTextWriter или LINQ to XML, но, кстати, я не хочу, чтобы файл был полностью заблокирован. Я хочу, чтобы другие процессы могли читать Xml-файл. Он должен быть заблокирован только в режиме записи, так что другие могут не изменять файл. Каков наилучший способ достичь этого?XmlWriter в режиме без блокировки
ответ
Вам нужно установить это при открытии FileStream. Попробуйте это:
var fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read);
var xmlWriter = XmlWriter.Create(fs);
Как отмечает Яхья, нет никакой гарантии, что данные, записанные в любой момент будет иметь смысл для читателя.
Я хочу, чтобы просто другое приложение, разработанное мной, сможет получить доступ к файлу с определенной частотой, чтобы постоянно обновлять обновленный файл, который также обновляется с определенной частотой. –
Пока данные в файле имеют смысл в то время, когда вы его читаете, вы должны быть в порядке с этим. Убедитесь, что вы вызываете fs.Flush() после каждой записи или данные еще не записываются на диск. –
@ClaudioFerraro: Я не думаю, что вы понимаете, что говорят Крис и Яхия. Недопустимый XML-код не может быть проанализирован, и вы не можете в любой момент гарантировать, что структура будет действительна. Чтение блокировок - это самая простая и наименьшая из ваших проблем. –
- 1. Чтение прерываний в режиме блокировки
- 2. force iphone в режиме блокировки
- 3. Воспроизведение аудио в режиме блокировки
- 4. откройте приложение камеры в режиме iphone в режиме блокировки
- 5. Как использовать сокеты Haxe в кросс-платформенном режиме без блокировки?
- 6. Открытие активности в ландшафтном режиме без блокировки ориентации
- 7. Многопроцессорное программирование: блокировки без блокировки
- 8. Непрерывная функция блокировки без блокировки?
- 9. Эффективное выполнение без блокировки
- 10. ServiceStack: Обработка без блокировки
- 11. Утилизировать XmlWriter без отправки незавершенных конечных элементов
- 12. Как создать файл без блокировки в C#
- 13. SocketChannel read возвращает 0 в режиме блокировки
- 14. Проверить вход в режиме блокировки в Netty
- 15. Выполнять длинную команду в php без блокировки
- 16. WP8 Воспроизведение звука в режиме блокировки экрана
- 17. В режиме блокировки auth0, как обновить id_token?
- 18. Сигнал прерывает метод отправки в режиме блокировки
- 19. DirectoryNotFoundException в XMLWriter
- 20. Записать xmlwriter в файл
- 21. SignInManager без функций блокировки
- 22. Загрузка javascript без блокировки
- 23. Циркуляр без блокировки
- 24. Без таблиц блокировки MySQL
- 25. Запуск без блокировки
- 26. std :: condition_variable без блокировки
- 27. Безопасность потока без блокировки
- 28. SQL-представление без блокировки
- 29. Несколько процессов без блокировки
- 30. Глобальная ревизия без блокировки
Я не знаю, как добиться того, что вы просите ... НО Я настоятельно рекомендую вам пересмотреть свой подход, поскольку большинство синтаксических анализаторов XML НЕ подходят для обработки XML-файлов, которые меняются при чтении ... с потенциально серьезными последствиями , – Yahia
Кстати, вы не хотите напрямую использовать XmlTextWriter. Если вам нужно использовать XmlWriter, вам следует использовать XmlWriter.Create для его создания. –