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 三种常见用途:

  1. PackagePart通过 PackWebRequest. 访问数据。

  2. 获取给定包 URI 实例 Package 的应用程序。

  3. 访问在一个 MemoryStream. 中创建和存储的包。

为了提高性能并最大程度地减少重复文件打开/关闭操作的开销, PackageStore 它用于管理应用程序 PackWebRequest 访问和直接访问的包实例。 访问包中的数据时, Package 首先检查所请求 PackagePartUri 的地址,以查看包是否已定义并在其中 PackageStore打开。 如果包在包中 PackageStore定义为打开,则可以直接访问请求的部件,而无需重复打开和关闭每个请求的包。

如果应用程序打开了Package.Open包含的包,AddPackage则可以调用它以将包添加到包。PackageStore RemovePackage稍后应调用以在调用PackageStore之前从Package.Close中删除包。

使用 XpsDocument 构造函数打开的 XPS 包会自动在创建和释放文档时从 PackageStore 中删除。 (无需为使用AddPackage构造函数打开的 XPS 包单独调用或RemovePackage单独调用XpsDocument

通过 PackageStore 包访问的文件 I/O 权限与打开包时设置的 I/O 权限相同。 PackageStore仅提供对已添加存储的包的引用。 应用程序可以正确打开、更新和关闭每个包。

与 XAML 分析程序(例如PackageStore)结合使用时,可以在多线程环境中访问添加到该XamlReader.Load包的包。 在多线程环境中运行时,应用程序必须在访问之前锁定包。

方法

名称 说明
AddPackage(Uri, Package)

将 a Package 添加到存储区。

GetPackage(Uri)

Package 存储区返回具有指定 URI 的 URI。

RemovePackage(Uri)

Package从存储区中删除具有指定 URI 的 URI。

适用于

另请参阅