Поделиться через


PackageStore Класс

Определение

Представляет коллекцию экземпляров Package, используемых в сочетании с 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
Наследование
PackageStore
Атрибуты

Комментарии

PackageStore определяет ссылочные коллекции пакетов, открытые и активные в приложении. Доступ к пакетам, добавленным в PackageStore, осуществляется по значению URI ключа. PackageStore поддерживает три распространенных использования:

  1. Доступ к данным PackagePart через PackWebRequest.

  2. Приложение, получающее экземпляр Package с учетом URI пакета.

  3. Доступ к пакетам, созданным и хранящимся в MemoryStream.

Чтобы повысить производительность и свести к минимуму затраты на повторяющиеся операции открытия и закрытия файла, PackageStore используется для управления экземплярами пакетов, доступ к которым осуществляется PackWebRequest и непосредственно приложением. При доступе к данным в пакете Package адрес запрошенного PackagePartUri сначала проверяется, определен ли пакет и открыт в PackageStore. Если пакет определен как открытый в PackageStore, запрашиваемые части можно получить напрямую, не открывая и закрывая пакет для каждого запроса.

Если приложение открывает пакет с Package.Open, AddPackage можно вызвать, чтобы добавить пакет в PackageStore. RemovePackage следует вызвать позже, чтобы удалить пакет из PackageStore перед вызовом Package.Close.

Пакеты XPS, открытые с помощью конструктора XpsDocument, автоматически добавляются и удаляются из PackageStore при создании и удалении документа. (Вам не нужно вызывать AddPackage или RemovePackage отдельно для пакетов XPS, открытых с помощью конструкторов XpsDocument.)

Разрешения ввода-вывода файла пакета, доступного через PackageStore, остаются неизменными, как и разрешения ввода-вывода, заданные в пакете при открытии. PackageStore предоставляет ссылки только на пакеты, добавленные в хранилище. Приложение может правильно открывать, обновлять и закрывать каждый пакет.

Пакеты, добавленные в PackageStore, могут быть доступны в многопоточных средах, когда они используются в сочетании с средством синтаксического анализа XAML, например XamlReader.Load. При работе в многопоточной среде приложение должно заблокировать пакет перед доступом.

Методы

AddPackage(Uri, Package)

Добавляет Package в магазин.

GetPackage(Uri)

Возвращает Package с указанным универсальным кодом ресурса (URI) из хранилища.

RemovePackage(Uri)

Удаляет Package с указанным универсальным кодом ресурса (URI) из хранилища.

Применяется к

См. также раздел