PackageStore Classe

Definizione

Rappresenta un insieme di istanze Package specifiche dell'applicazione utilizzato in combinazione 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
Ereditarietà
PackageStore
Attributi

Commenti

Definisce PackageStore una raccolta di riferimenti del pacchetto aperta e attiva nell'applicazione. I pacchetti aggiunti all'oggetto sono accessibili dal valore dell'URI PackageStore della chiave. Supporta PackageStore tre usi comuni:

  1. Accesso ai PackagePart dati tramite PackWebRequest.

  2. L'applicazione che ottiene un'istanza di un Package determinato URI del pacchetto.

  3. Accesso ai pacchetti creati e archiviati in un MemoryStreamoggetto .

Per migliorare le prestazioni e ridurre al minimo il sovraccarico delle operazioni di apertura/chiusura ripetute dei file, viene PackageStore usato per gestire le istanze dei pacchetti a cui accede PackWebRequest e direttamente dall'applicazione. Quando si accede ai dati in un pacchetto, l'indirizzo Package di una richiesta PackagePartUri viene prima controllato per verificare se il pacchetto è già definito e aperto nell'oggetto PackageStore. Se il pacchetto è definito come aperto nelle PackageStoreparti richieste, è possibile accedere direttamente senza aprire ripetutamente e chiudere il pacchetto per ogni richiesta.

Se l'applicazione apre un pacchetto con Package.Open, AddPackage può essere chiamato per aggiungere il pacchetto all'oggetto PackageStore. RemovePackage deve essere chiamato in seguito per rimuovere il pacchetto dalla PackageStore prima di chiamare Package.Close.

I pacchetti XPS aperti con un XpsDocument costruttore vengono aggiunti automaticamente e rimossi dal PackageStore momento in cui il documento viene creato ed eliminato. Non è necessario chiamare AddPackage o RemovePackage separatamente per i pacchetti XPS aperti con XpsDocument costruttori.

Le autorizzazioni di I/O del file di un pacchetto a cui viene eseguito l'accesso tramite rimangono invariate rispetto alle autorizzazioni di I/O impostate PackageStore sul pacchetto quando viene aperto. Fornisce PackageStore solo riferimenti ai pacchetti aggiunti all'archivio. L'applicazione deve aprire correttamente, aggiornare e chiudere ogni pacchetto.

I pacchetti aggiunti all'oggetto PackageStore possono essere accessibili in ambienti multithreading quando vengono usati in combinazione con un parser XAML, XamlReader.Loadad esempio . Quando si opera in un ambiente multithreaded, l'applicazione deve bloccare il pacchetto prima dell'accesso.

Metodi

AddPackage(Uri, Package)

Aggiunge un oggetto Package all'archivio.

GetPackage(Uri)

Restituisce dall'archivio l'oggetto Package con l'URI specificato.

RemovePackage(Uri)

Rimuove dall'archivio l'oggetto Package con l'URI specificato.

Si applica a

Vedi anche