Comparteix a través de


PackageStore Clase

Definición

Representa una colección de instancias de Package específicas de la aplicación que se usan en combinación con 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
Herencia
PackageStore
Atributos

Comentarios

El PackageStore define una colección de referencias de paquete que está abierta y activa en la aplicación. El acceso a los paquetes agregados al PackageStore es su valor de URI de clave. El PackageStore admite tres usos comunes:

  1. Acceso a los datos de PackagePart a través de PackWebRequest.

  2. La aplicación que obtiene una instancia de un Package dado el URI del paquete.

  3. Acceso a paquetes creados y almacenados en un MemoryStream.

Para mejorar el rendimiento y minimizar la sobrecarga de las operaciones repetidas de apertura y cierre de archivos, la PackageStore se usa para administrar instancias de paquetes a los que accede la aplicación PackWebRequest y directamente. Al acceder a los datos de un paquete, primero se comprueba la dirección Package de un PackagePartUri solicitado para ver si el paquete ya está definido y abierto en el PackageStore. Si el paquete se define como abierto en la PackageStore, se puede acceder a los elementos solicitados directamente sin abrir y cerrar repetidamente el paquete para cada solicitud.

Si la aplicación abre un paquete con Package.Open, se puede llamar a AddPackage para agregar el paquete al PackageStore. RemovePackage debe llamarse más adelante para quitar el paquete del PackageStore antes de llamar a Package.Close.

Los paquetes XPS abiertos con un constructor de XpsDocument se agregan y quitan automáticamente de la PackageStore cuando se crea y elimina el documento. (No es necesario llamar a AddPackage ni RemovePackage por separado para los paquetes XPS abiertos con constructores de XpsDocument).

Los permisos de E/S de archivo de un paquete al que se accede a través de la PackageStore permanecen iguales que los permisos de E/S establecidos en el paquete cuando se abre. El PackageStore solo proporciona referencias a los paquetes que se han agregado al almacén. Es necesario que la aplicación abra, actualice y cierre correctamente cada paquete.

Se puede acceder a los paquetes agregados al PackageStore en entornos multiproceso cuando se usan en combinación con un analizador XAML, como XamlReader.Load. Cuando se trabaja en un entorno multiproceso, la aplicación debe bloquear el paquete antes del acceso.

Métodos

AddPackage(Uri, Package)

Agrega un Package al almacén.

GetPackage(Uri)

Devuelve el Package con un URI especificado del almacén.

RemovePackage(Uri)

Quita el Package con un URI especificado del almacén.

Se aplica a

Consulte también