PackageStore Класс

Определение

Представляет коллекцию зависящих от приложения экземпляров объекта Package, используемых в сочетании с объектом PackWebRequest.Represents a collection of application-specific Package instances used in combination with PackWebRequest.

public ref class PackageStore abstract sealed
public static class PackageStore
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public static class PackageStore
type PackageStore = class
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type PackageStore = class
Public Class PackageStore
Наследование
PackageStore
Атрибуты

Комментарии

PackageStoreОпределяет ссылочные коллекции пакета, которые открыты и активны в приложении.The PackageStore defines a reference collections of package that are open and active in the application. Доступ к пакетам, добавленным к, осуществляется PackageStore по значению URI ключа.Packages added to the PackageStore are accessed is by their key URI value. PackageStoreПоддерживает три основных способа использования:The PackageStore supports three common uses:

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

  2. Приложение, получающее экземпляр с Package заданным URI пакета.The application obtaining an instance of a Package given the package's URI.

  3. Доступ к пакетам, которые создаются и хранятся в MemoryStream .Accessing packages that are created and stored in a MemoryStream.

Чтобы повысить производительность и снизить затраты на операции открытия и закрытия повторяющихся файлов, PackageStore используется для управления экземплярами пакетов, доступ к которым осуществляется PackWebRequest и напрямую приложением.To improve performance and minimize the overhead of repeated file open/close operations, the PackageStore is used to manage instances of packages accessed by PackWebRequest and directly by the application. При доступе к данным в пакете Package PackagePart Uri сначала проверяется адрес, который уже определен и открыт в PackageStore .When accessing data in a package, the Package address of a requested PackagePart Uri is first checked to see if the package is already defined and open in the PackageStore. Если пакет определен как открытый в PackageStore , доступ к запрашиваемым частям можно получить напрямую без повторного открытия и закрытия пакета для каждого запроса.If the package is defined as open in the PackageStore, requested parts can be accessed directly without repeatedly opening and closing the package for each request.

Если приложение открывает пакет с Package.Open , AddPackage можно вызвать метод, чтобы добавить пакет в PackageStore .If your application opens a package with Package.Open, AddPackage can be called to add the package to the PackageStore. RemovePackage Затем следует вызвать метод, чтобы удалить пакет из PackageStore перед вызовом Package.Close .RemovePackage should later be called to remove the package from the PackageStore prior to calling Package.Close.

Пакеты XPS, открытые с помощью XpsDocument конструктора, автоматически добавляются и удаляются из, PackageStore когда документ создается и удаляется.XPS packages opened with an XpsDocument constructor are automatically added and removed from the PackageStore when the document is created and disposed. ( AddPackage RemovePackage Для пакетов XPS, открытых с помощью конструкторов, не требуется вызывать или отдельно XpsDocument .)(You do not need to call AddPackage or RemovePackage separately for XPS packages opened with XpsDocument constructors.)

Разрешения файлового ввода-вывода для пакета, доступ к которому осуществляется через, PackageStore остаются теми же, что и разрешения ввода-вывода, установленные для пакета при его открытии.The file I/O permissions of a package accessed through the PackageStore remains the same as the I/O permissions set on the package when it is opened. PackageStoreПредоставляет только ссылки на пакеты, которые были добавлены в хранилище.The PackageStore only provides references to the packages that have been added the store. Приложение может правильно открывать, обновлять и закрывать каждый пакет.It is up to the application to correctly open, update, and close each package.

К пакетам, добавленным к, PackageStore можно обращаться в многопоточных средах, когда они используются в сочетании с XAMLXAML синтаксическим анализатором, например XamlReader.Load .Packages added to the PackageStore can be accessed in multithreaded environments when they are used in combination with a XAMLXAML parser such as XamlReader.Load. При работе в многопоточной среде приложение должно заблокировать пакет перед доступом.When operating in a multithreaded environment, the application must lock the package before access.

Методы

AddPackage(Uri, Package)

Добавляет в хранилище объект Package.Adds a Package to the store.

GetPackage(Uri)

Возвращает из хранилища Package с указанным URI.Returns the Package with a specified URI from the store.

RemovePackage(Uri)

Удаляет из хранилища Package с указанным URI.Removes the Package with a specified URI from the store.

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

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