0
我使用下面的两个代码加载一个XML.Some其他进程更新相同的XML,而我试图加载it.It竟然放弃了我下面的错误在这两种情况下: -如何使用XDocument.Load()方法加载Xml文件并锁定它?
该进程无法访问文件 'D:\ Projects \ WriteOnXml \ Xml \ test.xml',因为 正在使用另一个进程。
1)
using (FileStream xml = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
XDocument xdoc = XDocument.Load(xml);
}
2)
using (StreamReader sr = new StreamReader(dest))
{
xdoc = XDocument.Load(sr);
}
我想加载它,而它是由一些其他过程更新。 任何更好的方法。
如果文件被其他进程锁定这是不可能的。 – qxg
即使您可以通过文件共享标志双方开始读取文件,当然如果一个进程处于写入文件的过程中,那么在此时不太可能是有效的XML。如果没有这样做的话,那将会更好。 –
@Oday: - 不,我没有任何访问正在更新它的代码。 –