我們最近開始使用XML文件,經過多年的舊INI文件的使用經驗。如何從兩個程序同時寫入單個xml文件?
我的同事發現了一些使用System.Xml.XmlDocument.Save的CodeProject示例代碼。當兩個程序試圖同時寫入同一個文件時,我們會收到異常。
System.IO.IOException:進程 不能訪問該文件 'C:\的test.xml',因爲它被另一個 過程 。
事後看來這似乎很明顯,但我們沒有預料到它,因爲通過Win32 API訪問INI文件沒有這個限制。我假設有一些仲裁由Win32調用完成,它的工作級別高於XmlDocument.Save方法。
我希望有更高級別的XML例程在.Net庫中,與Win32函數類似地工作,但不知道從哪裏開始尋找。
或者,也許我們可以設置我們的文件訪問權限,以允許多個程序寫入相同的文件?
時間很短(與幾乎所有的軟件項目一樣),如果我們無法快速找到解決方案,我們必須持之以恆地回到INI文件。
感謝所有的迴應。看起來我們將選擇通常的緊縮模式解決方案 - 請按照您所知道的方式工作。所以INI文件就是這樣。 – 2010-06-10 19:33:01