分離のタイプ
更新 : 2007 年 11 月
分離ストレージへのアクセスは、常にその分離ストレージを作成したユーザーに制限されます。この種の分離を実装するために、共通言語ランタイムは、オペレーティング システムによって認識されるユーザー ID と同じユーザー ID、つまり、ストアを開いたときにコードを実行しているプロセスに関連付けられている ID を使用します。この ID は認証されたユーザー ID ですが、現在のユーザーの ID は偽装によって動的に変更される場合もあります。
ユーザー別の分離に加えて、分離ストレージに対するアクセスは、アプリケーションのドメインおよびアセンブリに関連付けられた ID、またはアセンブリだけに関連付けられた ID に基づいて制限されます。ランタイムは、これらの ID を次の方法で取得します。
ドメイン ID は、アプリケーションの証拠を表します。Web アプリケーションの場合、ドメイン ID は、完全な URL です。シェルによってホストされるコードの場合は、ドメイン ID は、アプリケーションのディレクトリ パスが基になります。たとえば、実行可能ファイルをパス C:\Office\MyApp.exe から実行する場合、ドメイン ID は C:\Office\MyApp.exe です。
アセンブリ ID は、アセンブリの証拠です。アセンブリ ID は、アセンブリの暗号化デジタル署名から取得できます。アセンブリ ID は、厳密な名前、アセンブリのソフトウェア発行元、またはアセンブリの URL ID のいずれかです。アセンブリが厳密な名前とソフトウェア発行元 ID の両方を持つ場合は、ソフトウェア発行元 ID が使用されます。インターネットからダウンロードされ、署名されていないアセンブリの場合は、URL ID が使用されます。アセンブリと厳密な名前の詳細については、「アセンブリを使用したプログラミング」を参照してください。
ローミング ストアは、ローミング ユーザー プロファイルを持つユーザーと共に移動します。ファイルはネットワーク ディレクトリに書き込まれ、ユーザーがログインする任意のコンピュータにダウンロードにされます。ローミング ユーザー プロファイルの詳細については、「IsolatedStorageScope 列挙体」を参照してください。
ユーザー ID、ドメイン ID、およびアセンブリ ID の概念を組み合わせることにより、分離ストレージは、次の 2 とおりの方法でデータを分離できます。それぞれの分離方法には、そのアクセス権限について使用法の例があります。
どちらかの分離にも、ローミング ユーザー プロファイルを組み合わせることができます。詳細については、「分離ストレージとローミング」を参照してください。
ストアを分離する方法をさまざまなスコープで示す図を次に示します。
分離ストレージのタイプ
ローミング ストアの場合を除き、分離ストレージは、暗黙に、常にコンピュータ別に分離されます。これは、分離ストレージが、所定のコンピュータに固有のストレージ機能を使用するためです。