Udostępnij za pośrednictwem


PackageStore Klasa

Definicja

Reprezentuje kolekcję wystąpień Package specyficznych dla 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

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

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

  2. Aplikacja uzyskująca wystąpienie Package przy użyciu identyfikatora URI pakietu.

  3. Uzyskiwanie dostępu do pakietów utworzonych i przechowywanych w 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, do których uzyskuje dostęp PackWebRequest i bezpośrednio przez aplikację. Podczas uzyskiwania dostępu do danych w pakiecie adres Package żądanego PackagePartUri jest najpierw sprawdzany, aby sprawdzić, czy pakiet jest już zdefiniowany i otwarty w PackageStore. Jeśli pakiet jest zdefiniowany jako otwarty w 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 z Package.Open, można wywołać AddPackage, aby dodać pakiet do PackageStore. RemovePackage później należy wywołać polecenie , aby usunąć pakiet z PackageStore przed wywołaniem Package.Close.

Pakiety XPS otwierane za pomocą konstruktora XpsDocument są automatycznie dodawane i usuwane z PackageStore podczas tworzenia i usuwania dokumentu. (Nie trzeba wywoływać AddPackage ani RemovePackage oddzielnie dla pakietów XPS otwartych za pomocą konstruktorów XpsDocument).

Uprawnienia we/wy pliku pakietu dostępne za pośrednictwem PackageStore pozostają takie same jak uprawnienia we/wy ustawione w pakiecie po jego otwarciu. PackageStore zawiera tylko odwołania do pakietów, które zostały dodane do magazynu. Aplikacja musi poprawnie otwierać, aktualizować i zamykać każdy pakiet.

Pakiety dodane do PackageStore mogą być dostępne w środowiskach wielowątków, 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 Package do sklepu.

GetPackage(Uri)

Zwraca Package z określonym identyfikatorem URI ze sklepu.

RemovePackage(Uri)

Usuwa Package z określonym identyfikatorem URI ze sklepu.

Dotyczy

Zobacz też