WindowsフォームとC#3.0を使用してアプリケーションを作成しています。時間の経過とともにデータを永続化するための推奨される方法があるかどうか疑問に思いました。ただし、実行中のマシンには触れたくないので、結果として、データをバイナリ実行可能ファイルに保存したいと思います(できれば、ランダムな構成ファイルでユーザーのフォルダーを乱雑にする必要がないため)。
ですから、これを行う方法について誰かが何かアイデアを持っているなら、それは大いにありがたいです!
ジェイソン
WindowsフォームとC#3.0を使用してアプリケーションを作成しています。時間の経過とともにデータを永続化するための推奨される方法があるかどうか疑問に思いました。ただし、実行中のマシンには触れたくないので、結果として、データをバイナリ実行可能ファイルに保存したいと思います(できれば、ランダムな構成ファイルでユーザーのフォルダーを乱雑にする必要がないため)。
ですから、これを行う方法について誰かが何かアイデアを持っているなら、それは大いにありがたいです!
ジェイソン
構成情報を保存する場合は、おそらく app.config または設定ファイルが適しています。
ユーザー データを保存する場合は、保存場所をユーザーが制御できるようにする必要があり、マシン上の \User\Username フォルダーを優先します。
保存する形式については...確かにSQLLiteのようなものを使用できますが、真のバイナリデータを保存していない場合、XMLにも問題はありません。.NET は、オブジェクト グラフを XML 表現に変換するための多数の API を提供しています。
ローカル ユーザーのマシンに何も保存したくない場合は、ユーザー データをアップロードするネットワーク データベース (または Web サービス) が必要になるでしょう。ユーザーがこれを理解していることを確認してください。多くのユーザーは、自分の個人データが同意なしに Web 上のどこかに送信されることを好みません。
実行可能ファイルを変更する必要はありません。多くのウイルス スキャナは、ウイルスやマルウェアがマシンに感染するのを予防的に防ぐ方法として、コンテンツやサイズが絶えず変化する実行可能ファイルを隔離します。あなたはそこに行きたくない。
実行可能ファイルを変更しないでください。単一のSQLiteデータベースを追加することは、はるかに優れたソリューションです。
別の方法として、分離ストレージがあります。
SQLiteはあなたが探しているものであり、c#と互換性があります
エンド ユーザー PC の SQLite データベースにデータを保存したくない場合は、SQL Server などにデータを保存する別のサーバー上の Web サービスを呼び出すことができます。