2011-01-10 16 views
6

私のアプリケーションはContact Managerと似ています。ユーザーが自分の住所を持つ連絡先を入力できるとします。連絡先をファイルに保存するコードと技術があります。しかし、私はそのファイルをどこに保存するのですか?.NETアプリケーションでアプリケーションデータを保存する場所

これは、Windowsで実行されている.NETアプリケーションです。私のファイルはユーザーフォルダのAppDataになければなりませんか?分離ストレージを使用する必要があります(上記のようにhere)?他に何か?お勧めの練習は何ですか?

+0

を使用すると、ユーザーや他のアプリは、簡単にこの連絡先ファイルを検索したい場合は、のAppDataを使用したいと思います。隔離されたストレージは、この特定の問題の解決策である「強すぎる」のようです。 –

+0

私はおそらくデータベースに情報を格納します。これは写真から外れていますか?それ以外の場合は、どちらかを使用して得られるメリットはありますか?私の知る限り、それは基本的にちょうど2つの異なるフォルダですか? – Patrick

+0

@Chris O:.NETでは、どのようにAppDataフォルダにアクセスできますか?つまり、C:\ Users \ etcにハードコードされているのではなく、私にフォルダを与える.NETクラスがありますか? – Peter

答えて

6

私はパトリックが提案された解決策を使用して終了:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) 
1

多くのオプションがあります。あなたが言うように、Isolated Storageもその一つです。ユーザー設定フレームワーク機能を使用して、データをデータのまとまりとして、またはXMLとして保存することもできます。

非常に軽量のインプロセスデータベースについては、SqlCompactを参照することもできます。その後、すべてのユーザーの連絡先を1つのデータベースに保存できます。アプリケーションと同じディレクトリにあります。 DALにEF4のようなものを簡単に使用することができます。

あなたの現在のアーキテクチャでは、そこに99%の道があるように思えますが、もう少し努力するかもしれません。

+0

Hm、SQLベースのソリューションから離れています。時間と労力がかかりすぎるためです(ORMのドメインモデルを構造化し、ORMのクルークで作業するため)。私はKarvoniteを使用しています。これにより、アプリケーション自体に焦点を当てることができます。 – Peter

+0

一方、私はもう一度スイッチバックしました:) SterlingDBとSilverlightを使用すると、Isolated Storageを使用すると効果的です。このプロジェクトは最初は少し揮発性です。 – Peter

関連する問題