我正在研究一個應用程序,該應用程序讀取並編輯xml文件,但使用XDocument類Load()和Save()方法。如果另一個應用程序或我的應用程序的另一個實例正在運行,那麼一個文檔可能會覆蓋另一個文檔在內存中所做的更改,而xdocument並未持續更新(reLoading)。同時運行的程序不會同時編輯xml文件的同一部分。解決這個問題的最好方法是什麼?我應該在做任何改變之前做一個Load嗎?還是有更優雅的方法?同時編輯C#中的xml文件
2
A
回答
3
最好的解決方案不是使用XML。
使用(小)數據庫。
在多用戶情況下使用任何類型的文本文件都非常困難,而且對於不同部分的事實只有在固定長度和(因此)固定位置記錄(行)才能用於盈利, 。 XML不能實現這一點。
在編輯之前執行加載操作只會使問題出現頻率降低。總會有變化失去的機會,你將在文件系統級別上有競爭條件。爲了使它工作,你必須使用鎖定文件的方案。你將需要一個額外的文件。
0
您正在討論可以修改文件的多個進程。如果您想保留文件而不是將數據放入公共存儲區(MS SQL),則需要實施互斥鎖以確保只有一個應用程序可以隨時訪問文件。
相關問題
- 1. 用C#編輯XML文件
- 2. 編輯XML文件C#
- 3. 在C#中編輯Xml文件(WP8)
- 4. 編輯XML文件?
- 5. 編輯XML文件
- 6. 編輯XML文件
- 7. 解析XML文件時編輯文本
- 8. 如何編輯C編輯模式下的XML文件#
- 9. 用C編輯XML文檔#
- 10. 如何編輯XML文件在C#
- 11. Python編輯xml文件
- 12. 編輯兩個XML文件
- 13. iPhone SDK:編輯XML文件
- 14. java jdom編輯xml文件
- 15. 用Java編輯XML文件
- 16. 編輯XML文件++/CLI
- 17. 我想編輯XML文件
- 18. XML文件編輯問題
- 19. 編輯一個Xml文件
- 20. 如何編輯XML文件
- 21. 編輯xml文件java
- 22. 編輯倍數節點的XML文件中的相同屬性
- 23. 在創建XML文件的不同版本時僅編輯和更新XML文件中的數字文本
- 24. 在C#中保留編輯的XML文件的縮進
- 25. 編輯C#中的XML文件的問題
- 26. 編輯文本C++中的文件
- 27. 從其他xml文件(TabLayout)中的按鈕編輯XML文件中的編輯文本
- 28. c#編輯編輯resx文件
- 29. 如何在Python中編輯XML文件?
- 30. 在as3中編輯XML文件
你可以在編輯時鎖定文件,也可以使用單個文件實例? – genericuser 2010-11-22 23:11:19
@Priyaya10單實例不保證線程安全。 – dexter 2010-11-22 23:18:43