PackageStore Classe

Definição

Representa uma coleção de instâncias Package específicas de aplicativos usadas em combinação com PackWebRequest.Represents a collection of application-specific Package instances used in combination with PackWebRequest.

public ref class PackageStore abstract sealed
public static class PackageStore
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public static class PackageStore
type PackageStore = class
Public Class PackageStore
Herança
PackageStore
Atributos

Comentários

O PackageStore define as coleções de referência do pacote que estão abertas e ativas no aplicativo.The PackageStore defines a reference collections of package that are open and active in the application. Os pacotes adicionados ao PackageStore são acessados por seu valor de URI de chave.Packages added to the PackageStore are accessed is by their key URI value. O PackageStore dá suporte a três usos comuns:The PackageStore supports three common uses:

  1. Acessar dados de PackagePart por meio de PackWebRequest.Accessing PackagePart data through PackWebRequest.

  2. O aplicativo que obtém uma instância de um Package dado o URI do pacote.The application obtaining an instance of a Package given the package's URI.

  3. Acessando pacotes que são criados e armazenados em um MemoryStream.Accessing packages that are created and stored in a MemoryStream.

Para melhorar o desempenho e minimizar a sobrecarga de operações de abertura/fechamento de arquivo repetidas, o PackageStore é usado para gerenciar instâncias de pacotes acessados por PackWebRequest e diretamente pelo aplicativo.To improve performance and minimize the overhead of repeated file open/close operations, the PackageStore is used to manage instances of packages accessed by PackWebRequest and directly by the application. Ao acessar dados em um pacote, o endereço Package de um PackagePart solicitado Uri é verificado primeiro para ver se o pacote já está definido e aberto no PackageStore.When accessing data in a package, the Package address of a requested PackagePart Uri is first checked to see if the package is already defined and open in the 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.If the package is defined as open in the PackageStore, requested parts can be accessed directly without repeatedly opening and closing the package for each request.

Se seu aplicativo abrir um pacote com Package.Open, AddPackage poderá ser chamado para adicionar o pacote ao PackageStore.If your application opens a package with Package.Open, AddPackage can be called to add the package to the PackageStore. RemovePackage deve ser chamado posteriormente para remover o pacote da PackageStore antes de chamar Package.Close.RemovePackage should later be called to remove the package from the PackageStore prior to calling Package.Close.

Os pacotes XPS abertos com um construtor de XpsDocument são adicionados e removidos automaticamente do PackageStore quando o documento é criado e descartado.XPS packages opened with an XpsDocument constructor are automatically added and removed from the PackageStore when the document is created and disposed. (Você não precisa chamar AddPackage ou RemovePackage separadamente para pacotes XPS abertos com XpsDocument construtores.)(You do not need to call AddPackage or RemovePackage separately for XPS packages opened with XpsDocument constructors.)

As permissões de e/s de arquivo de um pacote acessado por meio do PackageStore permanecem as mesmas que as permissões de e/s definidas no pacote quando ele é aberto.The file I/O permissions of a package accessed through the PackageStore remains the same as the I/O permissions set on the package when it is opened. O PackageStore fornece apenas referências aos pacotes que foram adicionados ao repositório.The PackageStore only provides references to the packages that have been added the store. Cabe ao aplicativo abrir, atualizar e fechar corretamente cada pacote.It is up to the application to correctly open, update, and close each package.

Os pacotes adicionados ao PackageStore podem ser acessados em ambientes multithread quando são usados em combinação com um analisador de XAMLXAML, como XamlReader.Load.Packages added to the PackageStore can be accessed in multithreaded environments when they are used in combination with a XAMLXAML parser such as XamlReader.Load. Ao operar em um ambiente multi-threaded, o aplicativo deve bloquear o pacote antes do acesso.When operating in a multithreaded environment, the application must lock the package before access.

Métodos

AddPackage(Uri, Package)

Adiciona um Package ao repositório.Adds a Package to the store.

GetPackage(Uri)

Retorna o Package com o URI especificado do repositório.Returns the Package with a specified URI from the store.

RemovePackage(Uri)

Remove o Package com um URI especificado do repositório.Removes the Package with a specified URI from the store.

Aplica-se a

Veja também