Condividi tramite


PackageStore Classe

Definizione

Rappresenta una raccolta di istanze di Package specifiche dell'applicazione usate 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

Il PackageStore definisce raccolte di riferimenti di pacchetti aperti e attivi nell'applicazione. I pacchetti aggiunti al PackageStore sono accessibili dal valore dell'URI della chiave. Il PackageStore supporta tre usi comuni:

  1. Accesso ai dati di PackagePart tramite PackWebRequest.

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

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

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

Se l'applicazione apre un pacchetto con Package.Open, è possibile chiamare AddPackage per aggiungere il pacchetto al PackageStore. RemovePackage dovrebbe essere chiamato in un secondo momento per rimuovere il pacchetto dal PackageStore prima di chiamare Package.Close.

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

Le autorizzazioni di I/O del file di un pacchetto a cui si accede tramite il PackageStore rimangono le stesse autorizzazioni di I/O impostate nel pacchetto quando viene aperto. Il PackageStore fornisce solo riferimenti ai pacchetti aggiunti all'archivio. Spetta all'applicazione aprire, aggiornare e chiudere correttamente ogni pacchetto.

È possibile accedere ai pacchetti aggiunti al PackageStore in ambienti multithreading quando vengono usati in combinazione con un parser XAML, ad esempio XamlReader.Load. Quando si opera in un ambiente multithreading, l'applicazione deve bloccare il pacchetto prima dell'accesso.

Metodi

AddPackage(Uri, Package)

Aggiunge un Package all'archivio.

GetPackage(Uri)

Restituisce il Package con un URI specificato dall'archivio.

RemovePackage(Uri)

Rimuove il Package con un URI specificato dall'archivio.

Si applica a

Vedi anche