Partilhar via


PackageStore Classe

Definição

Representa uma coleção de instâncias de Package específicas do aplicativo usadas em combinação com 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
Herança
PackageStore
Atributos

Comentários

O PackageStore define uma coleção de referência de pacote que estão abertas e ativas no aplicativo. Os pacotes adicionados ao PackageStore são acessados é pelo seu valor de URI de chave. O PackageStore dá suporte a três usos comuns:

  1. Acessando dados PackagePart por meio de PackWebRequest.

  2. O aplicativo que obtém uma instância de um Package dado o URI do pacote.

  3. Acessando pacotes que são criados e armazenados em um MemoryStream.

Para melhorar o desempenho e minimizar a sobrecarga de operações de abertura/fechamento de arquivos repetidas, o PackageStore é usado para gerenciar instâncias de pacotes acessados por PackWebRequest e diretamente pelo aplicativo. Ao acessar dados em um pacote, o endereço Package de um PackagePartUri solicitado é verificado primeiro para ver se o pacote já está definido e aberto no PackageStore. Se o pacote for definido como aberto no PackageStore, as partes solicitadas poderão ser acessadas diretamente sem abrir e fechar repetidamente o pacote para cada solicitação.

Se o aplicativo abrir um pacote com Package.Open, AddPackage poderá ser chamado para adicionar o pacote ao PackageStore. RemovePackage deve ser chamado posteriormente para remover o pacote do PackageStore antes de chamar Package.Close.

Os pacotes XPS abertos com um construtor XpsDocument são automaticamente adicionados e removidos do PackageStore quando o documento é criado e descartado. (Você não precisa chamar AddPackage ou RemovePackage separadamente para pacotes XPS abertos com construtores XpsDocument.)

As permissões de E/S de arquivo de um pacote acessado por meio do PackageStore permanecem iguais às permissões de E/S definidas no pacote quando ele é aberto. O PackageStore fornece apenas referências aos pacotes que foram adicionados ao repositório. Cabe ao aplicativo abrir, atualizar e fechar corretamente cada pacote.

Os pacotes adicionados ao PackageStore podem ser acessados em ambientes multithread quando são usados em combinação com um analisador XAML, como XamlReader.Load. Ao operar em um ambiente multithreaded, o aplicativo deve bloquear o pacote antes do acesso.

Métodos

AddPackage(Uri, Package)

Adiciona um Package ao repositório.

GetPackage(Uri)

Retorna o Package com um URI especificado do repositório.

RemovePackage(Uri)

Remove o Package com um URI especificado do repositório.

Aplica-se a

Confira também