PackageStore Klasa

Definicja

Reprezentuje kolekcję wystąpień specyficznych dla Package aplikacji używanych w połączeniu z 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
Dziedziczenie
PackageStore
Atrybuty

Uwagi

Element PackageStore definiuje kolekcje odwołań pakietu, które są otwarte i aktywne w aplikacji. Pakiety dodane do elementu PackageStore są dostępne według ich wartości identyfikatora URI klucza. Obsługiwane PackageStore są trzy typowe zastosowania:

  1. Uzyskiwanie PackagePart dostępu do danych za pośrednictwem usługi PackWebRequest.

  2. Aplikacja uzyskująca wystąpienie Package danego identyfikatora URI pakietu.

  3. Uzyskiwanie dostępu do pakietów utworzonych i przechowywanych w obiekcie MemoryStream.

Aby zwiększyć wydajność i zminimalizować obciążenie powtarzających się operacji otwierania/zamykania pliku, PackageStore służy do zarządzania wystąpieniami pakietów, PackWebRequest do których uzyskuje dostęp i bezpośrednio przez aplikację. Podczas uzyskiwania dostępu do danych w pakiecie adres żądanego elementu jest najpierw sprawdzany, aby sprawdzić, Package czy pakiet jest już zdefiniowany i otwarty w obiekcie PackageStore.PackagePartUri Jeśli pakiet jest zdefiniowany jako otwarty w elemecie PackageStore, żądane części mogą być dostępne bezpośrednio bez wielokrotnego otwierania i zamykania pakietu dla każdego żądania.

Jeśli aplikacja otworzy pakiet za pomocą polecenia Package.Open, można wywołać polecenie , AddPackage aby dodać pakiet do pliku PackageStore. RemovePackage należy później wywołać polecenie , aby usunąć pakiet z poprzedniego PackageStore wywołania metody Package.Close.

Pakiety XPS otwierane za pomocą konstruktora XpsDocument są automatycznie dodawane i usuwane z PackageStore momentu utworzenia i usunięcia dokumentu. (Nie trzeba wywoływać AddPackage ani RemovePackage oddzielnie dla pakietów XPS otwieranych za pomocą XpsDocument konstruktorów).

Uprawnienia we/wy pliku pakietu, do których uzyskuje PackageStore dostęp, pozostają takie same jak uprawnienia we/wy ustawione w pakiecie po otwarciu pakietu. Jedynymi PackageStore odwołaniami do pakietów, które zostały dodane do magazynu. Aplikacja musi poprawnie otworzyć, zaktualizować i zamknąć każdy pakiet.

Pakiety dodane do zestawu PackageStore mogą być dostępne w środowiskach wielowątkowych, gdy są używane w połączeniu z analizatorem XAML, takim jak XamlReader.Load. W przypadku działania w środowisku wielowątkowym aplikacja musi zablokować pakiet przed uzyskaniem dostępu.

Metody

AddPackage(Uri, Package)

Dodaje element Package do sklepu.

GetPackage(Uri)

Package Zwraca element o określonym identyfikatorze URI ze sklepu.

RemovePackage(Uri)

Package Usuwa element z określonym identyfikatorem URI ze sklepu.

Dotyczy

Zobacz też