2011-07-16 20 views
5

私は構成、アプリケーションの状態とデータを含むオブジェクトをシリアライズして格納する簡単なソリューションを探しています。そのシンプルなアプリケーションは、データではありません。スピードは問題ありません。私はそれを進行中にしたい。私はそれがXMLよりもテキストエディタで編集しやすいようにしたい。C#でオブジェクトをシリアライズして保存する最も簡単な方法は?

Iはインプロセス、それを処理することができます.NETの任意の文書データベースを見つける傾けます。 xmlにシリアライズするだけです。 JSONへのシリアライズは非常にjavascript固有のようですが、私はこのデータをjavascriptで使用しません。

私はこれを行うには非常に巧妙な方法があるの姿が、気圧イムは、JavaScriptのinclenationにもかかわらず、JSONを使用するように傾い。

+0

「私はインプロセス、それを処理することができます.NETの任意の文書データベースを見つける傾ける」 - あなたは何を意味するのですか? in-processは私を混乱させます。 – Tigran

+0

MongoDBと言うと、データリクエストを処理するには、別のプロセスが実行されている必要があります。 Idではむしろ、別のプロセスを実行することをスキップし、同じプロセスですべてを持つことができるようになります。 – MatteS

+0

okですので、私の答えで2番目のオプションが選択肢の1つになります。 – Tigran

答えて

5

「JSON」は、それがJavaScriptのオブジェクト表記の頭文字だという理由だけで、それがデータ形式として、あなたのニーズに合うかどうに何の関連性を持っていません。 JSONは、軽量でテキストベースで、簡単に人間が読める/編集可能であり、名前にもかかわらず言語に依存しないフォーマットです。

それはあなたの状況のた​​めにかなり理想的な音として私は間違いなく、それを使用して傾くと思います。

1

私は選択肢のカップルを与える:

  1. バイナリシリアル:あなたはそれをシリアライズの問題を作成することができdependecyツリーを複雑している場合は、あなたのオブジェクトの内容に依存します。また、マイクロソフトが提供する標準的なバイナリシリアル化でも型情報を保存するので、あまり柔軟性がありません。つまり、タイプをバイナリファイルに保存して1か月後にコードを再編成し、別の名前空間に同じクラスを移動しようとすると、以前に保存されたバイナリファイルからの脱シリル化が失敗します。 。これにはいくつかの対処法がありますが、私は個人的にはそうした種類のシリアライゼーションをできるだけ避けようとしています。

  2. ORMマッピングおよび小さなデータベースにそれを格納します。 SQLiteは、小さな(単一ファイル)および完全なACIDサポートデータベースであるので、この種のものにとって素晴らしい選択です。あなたはマッパーが必要です、または自分でマッパーを実装する必要があります。

私はあなたが数分で人々からいくつかの他の選択肢を得ることを確信しています。

だから選択はあなた次第です。

幸運。

関連する問題