1

WindowsフォームとC#3.0を使用してアプリケーションを作成しています。時間の経過とともにデータを永続化するための推奨される方法があるかどうか疑問に思いました。ただし、実行中のマシンには触れたくないので、結果として、データをバイナリ実行可能ファイルに保存したいと思います(できれば、ランダムな構成ファイルでユーザーのフォルダーを乱雑にする必要がないため)。

ですから、これを行う方法について誰かが何かアイデアを持っているなら、それは大いにありがたいです!

ジェイソン

4

6 に答える 6

10

構成情報を保存する場合は、おそらく app.config または設定ファイルが適しています

ユーザー データを保存する場合は、保存場所をユーザーが制御できるようにする必要があり、マシン上の \User\Username フォルダーを優先します。

保存する形式については...確かにSQLLiteのようなものを使用できますが、真のバイナリデータを保存していない場合、XMLにも問題はありません。.NET は、オブジェクト グラフを XML 表現に変換するための多数の API を提供しています。

ローカル ユーザーのマシンに何も保存したくない場合は、ユーザー データをアップロードするネットワーク データベース (または Web サービス) が必要になるでしょう。ユーザーがこれを理解していることを確認してください。多くのユーザーは、自分の個人データが同意なしに Web 上のどこかに送信されることを好みません。

実行可能ファイルを変更する必要はありません。多くのウイルス スキャナは、ウイルスやマルウェアがマシンに感染するのを予防的に防ぐ方法として、コンテンツやサイズが絶えず変化する実行可能ファイルを隔離します。あなたはそこに行きたくない。

于 2010-02-16T21:33:56.440 に答える
4

実行可能ファイルを変更しないでください。単一のSQLiteデータベースを追加することは、はるかに優れたソリューションです。

于 2010-02-16T21:31:24.177 に答える
2

別の方法として、分離ストレージがあります。

  • インストールディレクトリを乱雑にしない
  • AnitVirus ソフトウェアで問題を引き起こさない
  • .Net オブジェクトを含む OS の一部であり、他に何もインストールする必要はありません
  • すでに Windows セキュリティ モデルで動作
  • ユーザーごとに存在するため、保存された設定はユーザーごとに分離されます
  • オブジェクトを直接シリアライズ/デシリアライズできます
于 2010-02-16T23:36:43.927 に答える
0

SQLiteはあなたが探しているものであり、c#と互換性があります

于 2010-02-16T21:32:18.300 に答える
0

エンド ユーザー PC の SQLite データベースにデータを保存したくない場合は、SQL Server などにデータを保存する別のサーバー上の Web サービスを呼び出すことができます。

于 2010-02-16T21:36:32.847 に答える