1
我使用以下代碼來修改,可以從多個進程的FileStream爲
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
{
var d = XDocument.Load(fs);
d.Descendants("TestNode").FirstOrDefault().Descendants("MyInfo").FirstOrDefault().Attribute("Id").Value = "Tested Successfully";
XElement x1 = new XElement(new XElement("PoolId", "A91"));
d.Root.Add(x1);
fs.Seek(0, SeekOrigin.Begin);
d.Save(fs);
}
此方法是LOCK對象內使用XML文件共享不同進程之間的文件。
現在,我總是要覆蓋XML文件的內容,所以我用
fs.Seek(0, SeekOrigin.Begin);
這是正確的?有沒有更好的辦法?
什麼是鎖的目的是什麼?如果是爲了相互排斥而跨越過程,則需要使用互斥鎖。 – 2012-04-24 15:50:12