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 支持三种常见用途:
通过 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 仅提供对已添加存储的包的引用。 应用程序可以正确打开、更新和关闭每个包。
与 XAML 分析程序(如 XamlReader.Load)结合使用时,可以在多线程环境中访问添加到 PackageStore 的包。 在多线程环境中运行时,应用程序必须在访问之前锁定包。
方法
AddPackage(Uri, Package) |
将 Package 添加到存储区。 |
GetPackage(Uri) |
从存储区返回具有指定 URI 的 Package。 |
RemovePackage(Uri) |
从存储区中删除具有指定 URI 的 Package。 |