我正在研究一个应用程序,该应用程序读取并编辑xml文件,但使用XDocument类Load()和Save()方法。如果另一个应用程序或我的应用程序的另一个实例正在运行,那么一个文档可能会覆盖另一个文档在内存中所做的更改,而xdocument并未持续更新(reLoading)。同时运行的程序不会同时编辑xml文件的同一部分。解决这个问题的最好方法是什么?我应该在做任何改变之前做一个Load吗?还是有更优雅的方法?同时编辑C#中的xml文件
2
A
回答
3
最好的解决方案不是使用XML。
使用(小)数据库。
在多用户情况下使用任何类型的文本文件都非常困难,而且对于不同部分的事实只有在固定长度和(因此)固定位置记录(行)才能用于盈利, 。 XML不能实现这一点。
在编辑之前执行加载操作只会使问题出现频率降低。总会有变化失去的机会,你将在文件系统级别上有竞争条件。为了使它工作,你必须使用锁定文件的方案。你将需要一个额外的文件。
0
您正在讨论可以修改文件的多个进程。如果您想保留文件而不是将数据放入公共存储区(MS SQL),则需要实施互斥锁以确保只有一个应用程序可以随时访问文件。
相关问题
- 1. 编辑XML文件C#
- 2. 编辑XML文件?
- 3. 编辑XML文件
- 4. 如何编辑C编辑模式下的XML文件#
- 5. 用C编辑XML文档#
- 6. 如何编辑XML文件在C#
- 7. 我想编辑XML文件
- 8. Python编辑xml文件
- 9. 如何编辑XML文件
- 10. 用Java编辑XML文件
- 11. java jdom编辑xml文件
- 12. iPhone SDK:编辑XML文件
- 13. 在创建XML文件的不同版本时仅编辑和更新XML文件中的数字文本
- 14. 编辑C#中的XML文件的问题
- 15. 从其他xml文件(TabLayout)中的按钮编辑XML文件中的编辑文本
- 16. 使用临时文件在文本文件中编辑行C
- 17. 文本文件编辑C
- 18. C#编辑文本文件
- 19. 使用Python编辑XML文件中的XML文本
- 20. Perl:将编辑字段保存到同一个XML文件中
- 21. 编辑C++中的现有文件
- 22. 如何编辑C#中的json文件?
- 23. 用XML文件中的数据填充datagridview。编辑并保存回XML C#
- 24. 无法编辑powercenter上的xml文件
- 25. 编辑现有的XML文件
- 26. 我想编辑我的XML文件
- 27. 编辑非常大的xml文件
- 28. 编辑文件,目标C
- 29. 在C#编辑ODC文件
- 30. 运行运行时代码的安全方式(XML文件编辑)C#
你可以在编辑时锁定文件,也可以使用单个文件实例? – genericuser 2010-11-22 23:11:19
@Priyaya10单实例不保证线程安全。 – dexter 2010-11-22 23:18:43