Package 为一个抽象类,可用于将对象组织到定义的物理格式的单个实体中,从而实现可移植性与高效访问。
ZIP 文件是 Package 的主物理格式。其他 Package 实现可以使用其他物理格式(如 XML 文档、数据库或 Web 服务)。
与文件系统类似,在分层组织的文件夹和文件中引用 Package 中包含的项。
虽然 Package 是抽象类,但 Package..::.Open 方法默认使用 ZipPackage 派生类。
与文件系统类似,在分层组织的文件夹和文件中引用 Package 中包含的项。
PackagePart(“部件”)是一个抽象类,表示 Package 中存储的对象。
PackageRelationship(“关系”)定义源 Package 或 PackagePart 与目标对象之间的关联。PackageRelationship 可以是两种类型之一,而这两种类型均可以为以下两种形式之一:
-
包级别关系(由 Package..::.CreateRelationship 创建)
-
部件级别关系(由 PackagePart..::.CreateRelationship 创建)
-
在源 PackagePart 与包中的其他目标部件之间。
-
在源 PackagePart 与包外部的目标资源之间。
-
关系的源 Package 或源 PackagePart 被视为关系的“所有者”。删除源对象时,也将删除此源对象所拥有的所有关系。创建或删除关系的过程不会以任何方式在物理方面更改源或目标对象。
PackageDigitalSignature(“数字签名”)是部件和关系的组合,表示包含在 Package 中的数字签名。该数字签名标识发信方,并验证包含在 Package 中的签名部件和关系未经修改。
包还支持数字版权管理 (DRM),后者允许使用授予授权用户的特定访问权限对 Package 中的内容元素进行加密。
XpsDocument 基于 Package 体系结构,是一个包类型,旨在基于开放 XML Paper Specification (XPS)(XML 纸张规范 (XPS))存储文档。
默认情况下,Windows Presentation Foundation (WPF) 使用包来为使用标准 ZIP 文件格式的页面和文档存储内容、资源和关系。与任何 ZIP 文件一样,应用程序也可使用 System.IO.Packaging 类在单个可高效访问的容器中存储任意类型和数量的数据文件,并有选择地对它们提供保护。