PackageStore Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í:
Přístup k datům PackagePart prostřednictvím PackWebRequest.
Aplikace získá instanci Package vzhledem k identifikátoru URI balíčku.
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ě. |