PackageStore クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
PackWebRequestと組み合わせて使用されるアプリケーション固有の Package インスタンスのコレクションを表します。
public ref class PackageStore abstract sealed
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public static class PackageStore
public static class PackageStore
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type PackageStore = class
type PackageStore = class
Public Class PackageStore
- 継承
-
PackageStore
- 属性
注釈
PackageStore は、アプリケーションで開いてアクティブなパッケージの参照コレクションを定義します。 PackageStore に追加されたパッケージは、キー URI 値によってアクセスされます。 PackageStore では、次の 3 つの一般的な用途がサポートされています。
PackWebRequestを介して PackagePart データにアクセスする。
パッケージの URI を指定して、Package のインスタンスを取得するアプリケーション。
MemoryStreamに作成および格納されているパッケージへのアクセス。
パフォーマンスを向上させ、ファイルの開き/閉じ操作を繰り返すオーバーヘッドを最小限に抑えるために、PackageStore を使用して、PackWebRequest およびアプリケーションから直接アクセスされるパッケージのインスタンスを管理します。 パッケージ内のデータにアクセスすると、要求された PackagePartUri の Package アドレスが最初にチェックされ、パッケージが既に定義されていて、PackageStoreで開かれているかどうかを確認します。 パッケージが PackageStoreで開いていると定義されている場合は、要求ごとにパッケージを繰り返し開いたり閉じたりすることなく、要求されたパーツに直接アクセスできます。
アプリケーションで Package.Openを使用してパッケージを開くと、AddPackage を呼び出してパッケージを PackageStoreに追加できます。 RemovePackage 後で呼び出して、Package.Closeを呼び出す前に、PackageStore からパッケージを削除する必要があります。
XpsDocument コンストラクターで開かれた XPS パッケージは、ドキュメントの作成時と破棄時に PackageStore に自動的に追加および削除されます。 (XpsDocument コンストラクターで開かれた XPS パッケージに対して、AddPackage または RemovePackage を個別に呼び出す必要はありません)。
PackageStore を介してアクセスされるパッケージのファイル I/O アクセス許可は、パッケージが開かれたときに設定された I/O アクセス許可と同じままです。 PackageStore は、ストアに追加されたパッケージへの参照のみを提供します。 各パッケージを正しく開いたり、更新したり、閉じたりするのは、アプリケーションにかかっています。
PackageStore に追加されたパッケージは、XamlReader.Loadなどの XAML パーサーと組み合わせて使用すると、マルチスレッド環境でアクセスできます。 マルチスレッド環境で動作する場合、アプリケーションはアクセスする前にパッケージをロックする必要があります。
メソッド
AddPackage(Uri, Package) |
ストアに Package を追加します。 |
GetPackage(Uri) |
指定した URI を持つ Package をストアから返します。 |
RemovePackage(Uri) |
指定した URI を持つ Package をストアから削除します。 |
適用対象
こちらもご覧ください
.NET