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. |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по