少数のユーザー (< 12 ユーザー) によって使用されているアプリがあります。2000 件未満のレコードがあるため、XML ファイルを使用して \company\product\p.xml にファイルを保存することにしました。
これは大丈夫ですか、それとも気付かずに設計ガイドラインを破っていますか?
EnvironmentL .net/c#/winforms
更新: 常に 1 人のユーザー、1 つのスレッドのみが読み取りまたは更新を行います。
少数のユーザー (< 12 ユーザー) によって使用されているアプリがあります。2000 件未満のレコードがあるため、XML ファイルを使用して \company\product\p.xml にファイルを保存することにしました。
これは大丈夫ですか、それとも気付かずに設計ガイドラインを破っていますか?
EnvironmentL .net/c#/winforms
更新: 常に 1 人のユーザー、1 つのスレッドのみが読み取りまたは更新を行います。
ファイルでは、複数のスレッド/プロセスまたは他の作業単位がファイルに同時に書き込みを行わないようにする必要があります。そうしないと、破損の危険があります。
複数の同時書き込みが必要な場合は、SQLiteが適切なソリューションになる可能性があります。
処理するレコードがあまりない場合は、XML ファイルを使用しても問題ありません。移植可能であることが判明する場合もあります。
最善の策は、データ ストレージとアプリケーションの間で何らかの形式の抽象化を使用することです ( ORM など)。MVC スタック全体をコードに組み込む必要はありませんが、ニーズに合ったものを自分で組み合わせてみてください。次に、バックエンドを XML ファイルから他の人がここで提案したものに切り替えることができます
基本的にクリア テキストであり、任意のテキスト エディタで読み取ることができる XML ファイルに入力される情報には、セキュリティ上の影響がいくつかあることに注意してください。社会保障番号など、プライバシー法に違反するものは、XML ファイルに保存しないでください。パスワードは、暗号化されていない XML ファイルに保存しないでください。
これは当たり前のように聞こえますが、私が以前働いていた職場で、なりすましアカウント用のクリア テキスト パスワードがデザインに含まれている ASP.NET アプリケーションを少なくとも 1 つ知っています...ばか。
コンパクトなSQLは、仕事をより良くします。odbc とアクセス データベースを使用するだけでも構いません。xml ファイルは、実際にはデータベースとして使用することはできません。