IsolatedStorage と AppData ファイル ストレージを選択するのはどのような場合ですか?
-
20-08-2019 - |
質問
最近発見したのですが、 IsolatedStorage
.net の機能を使用する必要があるのですが、それらをアプリケーション データにいつ使用する必要があるのか、それともいつ使用する必要があるのか疑問に思っています (例:) Application.LocalUserAppDataPath
.
一つ気づいたことは、 Application
winforms アプリの外部には存在しないため、 IsolatedStorage
特定のストレージを必要とするクラス ライブラリ、特にそのライブラリが Web アプリと winforms アプリの両方で使用される可能性がある場合には意味があるかもしれません。違いはそこだけですか、それとも他にあるのでしょうか?
(原則として、これまで、ライブラリが何らかの外部ストレージを必要とする可能性がある場合、アプリがライブラリにファイル ストリームを提供するようにしていました。一般的に、ライブラリに外部ストレージがあるという考えは好きではありません。呼び出し元のコンテキストの外部にあるある種の状態。)
解決
IsolatedStorage には、それを選択する可能性があるいくつかの興味深い機能があります。
信頼度が非常に低いアプリケーション (クリックワンスなど) であっても、分離ストレージにアクセスできます。すべてのアプリケーションが AppData にアクセスできるわけではありません。アプリケーションに課されるセキュリティ ポリシーによっては、IsolatedStorage も制限される場合がありますが、通常は AppData/ファイル システムよりもアクセスしやすくなります。
IsolatedStorage のストレージ要件は、管理者ポリシーによって制御できます。
分離ストレージ データがどこにどのように保存されているかを知る必要はありません。すべてのシステムでアクセスするための統一 API があり、保存されている基になるパスを完全に無視できます。すでに述べたように、これは、ホスティング アプリケーションがデータをどのように保存するかわからないライブラリにとって非常に便利です。
また、さまざまなレベルの分離を使用して、データを分離ストレージに非常に簡単に保存することもできます。見る IsolatedStorageScope の値 詳細については。これはその名前の由来なので、この点を最初にリストするべきだったと思います:)
欠点としては:
- IsolatedStorage には、保存できるデータ量にいくつかの注目すべき制限があります。たとえば、アプリケーションの設定には問題ありませんが、ドキュメントには適切ではありません。
いくつかの役立つリンク: