Sdílet prostřednictvím


PackageStore Třída

Definice

Představuje kolekci Package instancí specifických pro aplikaci, které se používají v kombinaci s 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
Dědičnost
PackageStore
Atributy

Poznámky

PackageStore definuje referenční kolekce balíčku, které jsou v aplikaci otevřené a aktivní. Balíčky přidané do PackageStore jsou přístupné, jsou jejich hodnotou klíče URI. PackageStore podporuje tři běžná použití:

  1. Přístup k datům PackagePart prostřednictvím PackWebRequest.

  2. Aplikace získá instanci Package vzhledem k identifikátoru URI balíčku.

  3. Přístup k balíčkům vytvořeným a uloženým v MemoryStream.

Ke zlepšení výkonu a minimalizaci režie opakovaných operací otevření/zavření souborů se PackageStore používá ke správě instancí balíčků, ke které přistupuje PackWebRequest a přímo aplikace. Při přístupu k datům v balíčku se nejprve zkontroluje Package adresa požadovaného PackagePartUri, aby se zjistilo, jestli je balíček již definovaný a otevřený v PackageStore. Pokud je balíček definován jako otevřený v PackageStore, požadované části lze přistupovat přímo bez opakovaného otevření a zavření balíčku pro každou žádost.

Pokud aplikace otevře balíček s Package.Open, AddPackage lze volat pro přidání balíčku do PackageStore. RemovePackage by se měl později volat, aby se balíček odebral z PackageStore před voláním Package.Close.

Balíčky XPS otevřené pomocí konstruktoru XpsDocument se automaticky přidají a odeberou z PackageStore při vytvoření a odstranění dokumentu. (Není nutné volat AddPackage nebo RemovePackage samostatně pro balíčky XPS otevřené pomocí konstruktorů XpsDocument.)

Oprávnění vstupně-výstupních operací souboru balíčku, ke které se přistupuje prostřednictvím PackageStore zůstane stejná jako oprávnění vstupně-výstupních operací nastavených v balíčku při jeho otevření. PackageStore poskytuje pouze odkazy na balíčky, které byly přidány do úložiště. Je na aplikaci, aby správně otevřela, aktualizovala a zavřela jednotlivé balíčky.

Balíčky přidané do PackageStore lze získat přístup v prostředích s více vlákny, pokud jsou použity v kombinaci s analyzátorem XAML, jako je XamlReader.Load. Při provozu ve vícevláknovém prostředí musí aplikace před přístupem uzamknout balíček.

Metody

AddPackage(Uri, Package)

Přidá do úložiště Package.

GetPackage(Uri)

Vrátí Package se zadaným identifikátorem URI z úložiště.

RemovePackage(Uri)

Odebere Package se zadaným identifikátorem URI z úložiště.

Platí pro

Viz také