Esta documentación está archivada y no tiene mantenimiento.

PackageStore (Clase)

Represents a collection of application-specific Package instances used in combination with PackWebRequest.

Espacio de nombres: System.IO.Packaging
Ensamblado: PresentationCore (en presentationcore.dll)

public static class PackageStore
public final class PackageStore
public final class PackageStore
No se puede utilizar esta clase administrada en XAML.

The PackageStore defines a reference collections of package that are open and active in the application. Packages added to the PackageStore are accessed is by their key URI value. The PackageStore supports three common uses:

  1. Accessing PackagePart data through PackWebRequest.

  2. The application obtaining an instance of a Package given the package's URI.

  3. Accessing packages that are created and stored in a MemoryStream.

To improve performance and minimize the overhead of repeated file open/close operations, the PackageStore is used to manage instances of packages accessed by PackWebRequest and directly by the application. When accessing data in a package, the Package address of a requested PackagePart Uri is first checked to see if the package is already defined and open in the PackageStore. If the package is defined as open in the PackageStore, requested parts can be accessed directly without repeatedly opening and closing the package for each request.

If your application opens a package with Package.Open, AddPackage can be called to add the package to the PackageStore. RemovePackage should later be called to remove the package from the PackageStore prior to calling Package.Close.

XPS packages opened with an XpsDocument constructor are automatically added and removed from the PackageStore when the document is created and disposed. (You do not need to call AddPackage or RemovePackage separately for XPS packages opened with XpsDocument constructors.)

The file I/O permissions of a package accessed through the PackageStore remains the same as the I/O permissions set on the package when it is opened. The PackageStore only provides references to the packages that have been added the store. It is up to the application to correctly open, update, and close each package.

Packages added to the PackageStore can be accessed in multithreaded environments when they are used in combination with a XAML parser such as XamlReader.Load. When operating in a multithreaded environment, the application must lock the package before access.


Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0