0

主に画像やその他のもののために、.NET/WPF アプリケーション用のローカル ストレージが必要です。ここでデータベース ソリューションを探しているわけではありません。ストレージの要件は次のとおりです。

  1. この .NET アプリケーションからのみアクセスできる必要があります
  2. 一部の管理者がストレージにアクセスできるのは問題ありませんが (クリーニング、データのコピーなど)、ユーザーまたは他のアプリケーションが誤ってここのファイルを削除することは避けたいと思います。
  3. .NET アプリケーションを介して、ユーザーは実行時にフォルダーとデータを作成、変更、および削除できます。
  4. ストレージは、アプリケーションを使用している特定のユーザー用です
  5. .NET アプリケーションが (Windows インストーラーまたは ClickOnce のいずれかで) 更新された場合、このストレージは変更されるべきではなく、更新されたアプリケーションで使用されるすべての既存のデータはそこにとどまる必要があります。

典型的なシナリオ: エンド ユーザーは、アプリケーションを介して画像を保存したいと考えています。アプリによってフォルダーが作成され、そこに画像が保存されます。後で、その画像をそこから読み取って、UI でユーザーに表示できます。

分離ストレージについて読みましたが、これが探しているものかどうかわかりません。

また、他の多くのアプリケーションが Users/xxxx/AppData/Roaming フォルダーを使用してアプリケーション データを保存していることも確認しています。それを使うべきですか?

4

1 に答える 1

0

IsolatedStorage は、ユーザーが偶然見つけないという点で優れていますが、検索しない限り、管理者も見つけません。

IsolatedStorage の問題は、それがどのように分離されているかということです。つまり、ストレージを選択するために使用される基準を意味します。アセンブリ/exe のメジャー バージョンが変更されると、新しいストアが作成され、古いアセンブリ以外では古いデータにアクセスできなくなります。

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) は、データを保存するのに適した場所であることがわかりました-物理的に対応しています

  • WinXP: "c:\Documents and Settings\All Users\Application Data"

  • WinV/7/8: "c:\ProgramData"

于 2013-09-30T17:59:32.513 に答える