PackageStore 類別

定義

表示搭配 Package 一起使用之應用程式特有的 PackWebRequest 執行個體 (Instance) 集合。

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支援三個常見的用途:

  1. PackagePart透過PackWebRequest存取數據。

  2. 取得指定封裝 URI 實例 Package 的應用程式。

  3. 存取建立並儲存在 中的 MemoryStream封裝。

為了改善效能,並將重複檔案開啟/關閉作業的額外負荷降到最低,會 PackageStore 用來管理應用程式存取 PackWebRequest 和直接存取的封裝實例。 存取封裝中的數據時, Package 會先檢查所要求的 PackagePartUri 位址,以查看套件是否已定義並在 中 PackageStore開啟。 如果封裝定義為在 中 PackageStore開啟,則可以直接存取要求的元件,而不需要針對每個要求重複開啟和關閉封裝。

如果應用程式使用 開啟封裝 Package.OpenAddPackage 可以呼叫 以將封裝新增至 PackageStoreRemovePackage稍後應該呼叫 ,以在呼叫 Package.Close之前從 PackageStore 移除套件。

使用建構函式開啟的 XpsDocument XPS 套件會在建立和處置檔時自動新增和移除 PackageStore 。 (您不需要針對以建構函式開啟XpsDocument的 XPS 套件個別呼叫或RemovePackage個別呼叫 AddPackage 。)

透過 PackageStore 存取之套件的檔案 I/O 許可權,與開啟封裝時所設定的 I/O 許可權相同。 PackageStore只會提供已新增存放區之封裝的參考。 應用程式必須正確開啟、更新和關閉每個套件。

當新增至 的 PackageStore 套件與 XAML 剖析器搭配使用時,可以在多線程環境中存取這些套件,例如 XamlReader.Load。 在多線程環境中操作時,應用程式必須先鎖定套件,才能存取。

方法

AddPackage(Uri, Package)

Package 加入至存放區。

GetPackage(Uri)

從存放區傳回具有指定之 URI 的 Package

RemovePackage(Uri)

將具有指定之 URI 的 Package 從存放區中移除。

適用於

另請參閱