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 поддерживает три распространенных использования:
Доступ к данным PackagePart через PackWebRequest.
Приложение, получающее экземпляр Package с учетом URI пакета.
Доступ к пакетам, созданным и хранящимся в 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) из хранилища. |