PackageStore 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示结合 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 三种常见用途:
PackagePart通过 PackWebRequest访问数据。
获取给定包 URI 的 Package 实例的应用程序。
访问在 中创建和存储的 MemoryStream包。
为了提高性能并最大程度地减少重复的文件打开/关闭操作的开销, PackageStore 使用 来管理应用程序直接访问 PackWebRequest 的包实例。 访问包中的数据时, Package 首先检查请求 PackagePartUri 的地址,以查看包是否已定义并在 中 PackageStore打开。 如果包在 中 PackageStore定义为打开,则可以直接访问请求的部分,而无需为每个请求重复打开和关闭包。
如果应用程序使用 Package.Open打开包,AddPackage则可以调用 以将包添加到 。PackageStore RemovePackage稍后应调用 以在调用 Package.Close之前从 PackageStore 中删除包。
创建和释放文档时,使用 XpsDocument 构造函数打开的 XPS 包会自动添加和删除 PackageStore 。 (对于使用 XpsDocument constructors.) 打开的 XPS 包,无需单独调用 AddPackage 或RemovePackage
通过 PackageStore 访问的包的文件 I/O 权限与打开包时在包上设置的 I/O 权限相同。 PackageStore仅提供对已添加存储的包的引用。 应用程序应正确打开、更新和关闭每个包。
当添加到 的 PackageStore 包与 XAML 分析程序(如 ) XamlReader.Load结合使用时,可以在多线程环境中访问它们。 在多线程环境中运行时,应用程序必须在访问之前锁定包。
方法
AddPackage(Uri, Package) |
将 Package 添加到存储区。 |
GetPackage(Uri) |
从存储区中返回具有指定 URI 的 Package。 |
RemovePackage(Uri) |
从存储区中删除具有指定 URI 的 Package。 |
适用于
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈