2011-08-19 12 views
8

.NETのSystem.IO.IsolatedStorage名前空間について読んでいて、アセンブリや実行可能ファイルの場所にファイルを保存するために使用できることがわかりました。たとえば、次のコード:誰も.NETのSystem.IO.IsolatedStorageを使用していますか?

C:\ユーザーはニック\のAppData \ローカル\ IsolatedStorage \ bhxcjtkp.bpvを\ \

using System.IO.IsolatedStorage; 

public class Program 
{ 
    static void Main(string[] args) 
    { 
      IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForAssembly(); 
      store.CreateFile("myUserFile.txt"); 
    } 
} 

は、次の場所にあるファイル "myUserFile.txt" を作成します。 wbjkcolm.3br \ StrongName.m2s0saaun2onmow3pd5pkml30lf2dobr \ AssemFiles

そしてIsolatedStorageFile.GetMachineStoreForAssembly()を使用してはCの下で同様のディレクトリ構造を作成します:\はProgramData \ IsolatedStorage。

私は、このAPIにあなたのための保存場所を作成させるという利点があることが分かります。自分でファイルパスを考える必要はありません。しかし、他のサードパーティのアプリケーション(少なくとも私のコンピュータにはない)からIsolatedStorageに保存されているファイルは他にないことに驚きました。

代わりに、C:\ Users \ Nick \ AppData \ Localの下に設定ファイルなどを格納するかなりのプログラムが見つかりました。ソフトウェアベンダーがIsolatedStorageの使用を躊躇する理由を知っている人はいますか?または、AppDataの下にファイルを保存する別のAPIを使用していますか?

+1

私はかなり多くの人が多くを使用していると確信しています。 – BoltClock

答えて

5

アプリケーションが分離されたストレージで使用するパスを識別するために使用するアルゴリズムは、アプリケーションのバージョンによって異なります。新しいバージョンのアプリケーションをインストールすると、以前に格納されたデータにアクセスできなくなります。私はこのシナリオを動作させるオプションがあると確信していますが、それらを見つけられず、一定のストレージパスに移動しました。

+0

興味深い。それは知っていることはとても良いことです。 –

+0

いくつかのMicrosoftテクノロジが自動的にバージョンアップを処理します(ClickOnceなど) – ghord

1

隔離保管は、アプリケーションおよびユーザー設定、およびそのようなデータに最適です。 「そのようなデータ」とは、ユーザーの目から離しておくのに有益な、アプリケーションにとって重大ではないデータ(見た理由のため)であることを意味します。

隔離されたストレージをクリアするのは非常に簡単なので、これが常にそうであると期待して、あなたは失望しません。

+0

ありがとうございます。固体アドバイスのように聞こえる。 –

関連する問題