【发布时间】:2011-05-14 03:53:32
【问题描述】:
我正在开发一个读取和编辑 xml 文件但使用 XDocument 类 Load() 和 Save() 方法的应用程序。如果另一个应用程序或我的应用程序的另一个实例正在运行,那么一个文档可能会覆盖另一个在内存中所做的更改 xdocument 没有持续更新(重新加载)。同时运行的程序永远不会同时编辑 xml 文件的同一部分。解决此问题的最佳方法是什么?我应该在进行每次更改之前立即进行加载还是有更优雅的方法?
【问题讨论】:
-
您可以在编辑时锁定文件,还是使用文件的单个实例??
-
@Priya10 单实例不保证线程安全。
-
@pnya:锁定文件没有用,你需要在某个时候解锁。
标签: c# xml linq-to-xml overwrite