共用方式為


PackageStore 類別

定義

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

  1. 透過 PackWebRequest存取 PackagePart 數據。

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

  3. 存取建立並儲存在 MemoryStream中的套件。

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

如果應用程式開啟具有 Package.Open的套件,則可以呼叫 AddPackage 將封裝新增至 PackageStore。 稍後應該呼叫 RemovePackage,以在呼叫 Package.Close之前,先從 PackageStore 移除套件。

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

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

當封裝與 XAML 剖析器搭配使用時,可以在多線程環境中存取新增至 PackageStore 的套件,例如 XamlReader.Load。 在多線程環境中作業時,應用程式必須在存取之前鎖定套件。

方法

AddPackage(Uri, Package)

Package 新增至存放區。

GetPackage(Uri)

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

RemovePackage(Uri)

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

適用於

另請參閱