Partager via


PackageStore Classe

Définition

Représente une collection d’instances Package spécifiques à l’application utilisées en combinaison avec 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
Héritage
PackageStore
Attributs

Remarques

Le PackageStore définit des collections de références de package ouvertes et actives dans l’application. Les packages ajoutés au PackageStore sont accessibles par leur valeur d’URI de clé. Le PackageStore prend en charge trois utilisations courantes :

  1. Accès aux données PackagePart via PackWebRequest.

  2. L’application obtenant une instance d’un Package en fonction de l’URI du package.

  3. Accès aux packages créés et stockés dans un MemoryStream.

Pour améliorer les performances et réduire la surcharge des opérations répétées d’ouverture/fermeture de fichiers, la PackageStore est utilisée pour gérer les instances de packages accessibles par PackWebRequest et directement par l’application. Lors de l’accès aux données d’un package, l’adresse Package d’un PackagePartUri demandé est d’abord vérifiée pour voir si le package est déjà défini et ouvert dans le PackageStore. Si le package est défini comme ouvert dans le PackageStore, les parties demandées sont accessibles directement sans ouvrir et fermer le package à plusieurs reprises pour chaque requête.

Si votre application ouvre un package avec Package.Open, AddPackage pouvez être appelée pour ajouter le package au PackageStore. RemovePackage doit être appelé ultérieurement pour supprimer le package du PackageStore avant d’appeler Package.Close.

Les packages XPS ouverts avec un constructeur XpsDocument sont automatiquement ajoutés et supprimés de l'PackageStore lorsque le document est créé et supprimé. (Vous n’avez pas besoin d’appeler AddPackage ou de RemovePackage séparément pour les packages XPS ouverts avec des constructeurs XpsDocument.)

Les autorisations d’E/S de fichier d’un package accessibles via le PackageStore restent identiques aux autorisations d’E/S définies sur le package lors de son ouverture. Le PackageStore fournit uniquement des références aux packages qui ont été ajoutés au magasin. Il incombe à l’application d’ouvrir, de mettre à jour et de fermer correctement chaque package.

Les packages ajoutés au PackageStore sont accessibles dans des environnements multithreads lorsqu’ils sont utilisés en combinaison avec un analyseur XAML tel que XamlReader.Load. Lors de l’exploitation dans un environnement multithread, l’application doit verrouiller le package avant l’accès.

Méthodes

AddPackage(Uri, Package)

Ajoute une Package au magasin.

GetPackage(Uri)

Retourne le Package avec un URI spécifié à partir du magasin.

RemovePackage(Uri)

Supprime le Package avec un URI spécifié du magasin.

S’applique à

Voir aussi