PackageStore クラス

定義

Package と組み合わせて使用されるアプリケーション固有の PackWebRequest インスタンスのコレクションを表します。

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 つの一般的な用途がサポートされています。

  1. を介したPackagePartPackWebRequestデータへのアクセス。

  2. 指定されたパッケージの URI のインスタンスを Package 取得するアプリケーション。

  3. 作成され、 に格納されているパッケージへの MemoryStreamアクセス。

パフォーマンスを向上させ、繰り返しファイルのオープン/クローズ操作のオーバーヘッドを最小限に抑えるために、 を使用して、 PackageStore アプリケーションから PackWebRequest 直接アクセスされるパッケージのインスタンスを管理します。 パッケージ内のデータにアクセスする場合、 Package 要求されたのアドレスが最初にチェックされ PackagePartUri 、パッケージが既に定義されているかどうかを確認し、 PackageStoreで開きます。 パッケージが で PackageStore開いていると定義されている場合、要求されたパーツは、要求ごとにパッケージを繰り返し開いたり閉じたりすることなく、直接アクセスできます。

アプリケーションで を使用してパッケージPackage.OpenAddPackageを開く場合は、 を呼び出して パッケージを にPackageStore追加できます。 RemovePackage を呼び出す前に、 からパッケージを削除するには、後で PackageStore を呼び出す Package.Close必要があります。

コンストラクターで開かれた XpsDocument XPS パッケージは、ドキュメントの作成時および破棄時に PackageStore 、 から自動的に追加および削除されます。 (コンストラクターでXpsDocument開かれた XPS パッケージに対して または RemovePackage を個別に呼び出すAddPackage必要はありません)。

を介して PackageStore アクセスされるパッケージのファイル I/O アクセス許可は、パッケージを開いたときに設定された I/O アクセス許可と同じままです。 は PackageStore 、ストアが追加されたパッケージへの参照のみを提供します。 各パッケージを正しく開き、更新し、閉じるのはアプリケーションです。

PackageStore 追加されたパッケージは、 などの XamlReader.LoadXAML パーサーと組み合わせて使用すると、マルチスレッド環境でアクセスできます。 マルチスレッド環境で動作する場合、アプリケーションはアクセスする前にパッケージをロックする必要があります。

メソッド

AddPackage(Uri, Package)

Package をストアに追加します。

GetPackage(Uri)

指定した URI を持つ Package をストアから返します。

RemovePackage(Uri)

指定した URI を持つ Package をストアから削除します。

適用対象

こちらもご覧ください