PackageStore Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Auflistung anwendungsspezifischer Package Instanzen dar, die in Kombination mit PackWebRequest.
public ref class PackageStore abstract sealed
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public static class PackageStore
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type PackageStore = class
Public Class PackageStore
- Vererbung
-
PackageStore
- Attribute
Hinweise
Die PackageStore Definition definiert eine Referenzauflistung von Paketen, die in der Anwendung geöffnet und aktiv sind. Auf pakete, die dem PackageStore Zugriff hinzugefügt werden, erfolgt der Schlüssel-URI-Wert. Die PackageStore folgenden drei allgemeinen Verwendungen werden unterstützt:
Zugreifen auf PackagePart Daten über PackWebRequest.
Die Anwendung, die eine Instanz eines Package bestimmten Paket-URI erhält.
Zugreifen auf Pakete, die erstellt und in einer MemoryStreamgespeichert werden.
Um die Leistung zu verbessern und den Aufwand für wiederholte Öffnen/Schließen von Dateien zu minimieren, wird dies PackageStore verwendet, um Instanzen von Paketen zu verwalten, auf die und PackWebRequest direkt von der Anwendung zugegriffen wird. Beim Zugriff auf Daten in einem Paket wird die Package Adresse eines angeforderten PackagePartUri Pakets zuerst überprüft, um festzustellen, ob das Paket bereits definiert und in der PackageStoreDatei geöffnet ist. Wenn das Paket in den PackageStoreangeforderten Teilen als geöffnet definiert ist, kann direkt zugegriffen werden, ohne das Paket für jede Anforderung wiederholt zu öffnen und zu schließen.
Wenn Ihre Anwendung ein Paket mit Package.Openöffnet, kann aufgerufen werden, AddPackage um das Paket dem PackageStore. RemovePackage sollte später aufgerufen werden, um das Paket vor dem PackageStore Aufrufen Package.Closezu entfernen.
XPS-Pakete, die mit einem XpsDocument Konstruktor geöffnet werden, werden automatisch hinzugefügt und entfernt, PackageStore wenn das Dokument erstellt und verworfen wird. (Für XPS-Pakete, die mit XpsDocument Konstruktoren geöffnet wurden, müssen Sie diese RemovePackage nicht separat aufrufenAddPackage.)
Die Datei-E/A-Berechtigungen eines Pakets, auf das über das PackageStore Paket zugegriffen wird, bleiben identisch mit den E/A-Berechtigungen, die beim Öffnen des Pakets festgelegt wurden. Es PackageStore werden nur Verweise auf die Pakete bereitgestellt, die den Speicher hinzugefügt haben. Es liegt an der Anwendung, jedes Paket ordnungsgemäß zu öffnen, zu aktualisieren und zu schließen.
Auf Pakete, die der PackageStore Multithread-Umgebung hinzugefügt werden, kann zugegriffen werden, wenn sie in Kombination mit einem XAML-Parser wie z XamlReader.Load. B. verwendet werden. Wenn sie in einer Multithreadumgebung ausgeführt wird, muss die Anwendung das Paket vor dem Zugriff sperren.
Methoden
| Name | Beschreibung |
|---|---|
| AddPackage(Uri, Package) |
Fügt dem Store einen hinzu Package . |
| GetPackage(Uri) |
Gibt den Package mit einem angegebenen URI aus dem Speicher zurück. |
| RemovePackage(Uri) |
Entfernt den Package mit einem angegebenen URI aus dem Speicher. |