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: - 不,我沒有任何訪問正在更新它的代碼。 –