XDocumentクラスのLoad()メソッドとSave()メソッドを使用してxmlファイルを読み込んで編集するアプリケーションで作業しています。別のアプリケーションやアプリケーションの別のインスタンスが実行されている場合、メモリ内にある場合、他のアプリケーションが行った変更を1つのドキュメントが上書きする可能性があります。xdocumentは継続的に更新されません(reLoading)。同時実行プログラムは、xmlファイルの同じセクションを同時に編集することはありません。この問題を解決する最良の方法は何ですか?私はすべての変更を行う前にLoadを行うべきですか、よりエレガントなアプローチがありますか?C#でxmlファイルを同時に編集する
答えて
ベストソリューションはXMLを使用しないことです。
(小)データベースを使用してください。
マルチユーザの状況で任意の種類のテキストファイルを使用するのは難しいですし、固定長の(固定)位置のレコード(行)があれば、それが異なるセクションにあるという事実は、 。 XMLはこれを提供しません。
ロード・ビフォー・エディットを行うと、問題の発生頻度が少なくなります。変更が失われる可能性は常にあります。ファイルシステムレベルで競合条件が発生します。それを動作させるには、ファイルをロックするスキームを使用する必要があります。あなたはこれのために余分なファイルが必要になります。
sqliteのように、それのためのado.net dataproviderがあります:[System.Data.Sqlite](http://sqlite.phxsoftware.com/) – Femaref
@Femarefこのアプリケーションは、多くのマシンに展開されています。ターゲットマシンにsqliteをインストールしてデータベースを作成するプロセスはどれくらい難しいですか? – PICyourBrain
@Femaref私のプログラムはどのくらいの大きさになりますか? – PICyourBrain
ファイルを変更できる複数のプロセスについて話しています。そのデータを共通ストア(MS SQL)に格納する代わりにファイルを保持したい場合は、いつでも1つのアプリケーションだけがファイルにアクセスできるようにmutexを実装する必要があります。
- 1. C#で編集モードでXMLファイルを編集する方法
- 2. Xmlファイルの編集
- 3. sedでxmlファイルを編集するMacOS
- 4. PHP:PHPフォームでxmlファイルを編集する
- 5. JavaでXMLファイルを編集する
- 6. 既存のXMLファイルを編集する
- 7. XMLファイルの編集方法
- 8. PythonスクリプトによるXMLファイルの編集
- 9. C#でPDFファイルを編集する
- 10. xmlファイルを編集できませんが、.javaを編集できますか?
- 11. mac osで同時にファイルを編集して公開するには?
- 12. 同じデータの同時編集
- 13. JavaでXMLファイルをマイナーに編集する方法
- 14. Xmlノードを編集する
- 15. Wordpressにインポートする前にXMLファイルを編集する
- 16. XMLファイルの文字列を編集
- 17. EclipseでplistファイルをXML形式で編集する
- 18. C#.netの複数のクライアントから同時にテキストエリアを編集する
- 19. C#でXML要素を上書き/編集する方法
- 20. hadoop .xmlファイルを編集するノードはどれですか?
- 21. AndroidプロパティDIRECT xmlファイルの変更/編集
- 22. VS 2010のビルドは、xmlファイルの編集
- 23. PythonでXMLを編集する
- 24. サーバー側でXMLドキュメントを編集する
- 25. xmlコンテンツをSAXパーサーで編集する
- 26. Windows Phone 7.1アプリケーションでXMLファイルを編集する方法
- 27. 編集時にUbuntuサーバーでファイルをロックする方法
- 28. iOS5で実行時にJSONファイルを追加/編集する
- 29. Windows(XP)でC/C++ makefileファイルを編集する
- 30. Djangoモデルのフィールドを同時に編集する
編集中にファイルをロックすることはできますか?ファイルの単一インスタンスを使用していますか? – genericuser
@ Priya10シングルインスタンスはスレッドの安全性を保証しません。 – dexter
@pnya:ファイルをロックしても問題が解決しない場合は、いつかロックを解除する必要があります。 –