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.

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

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