PackageStore PackageStore PackageStore PackageStore Class

정의

Package와 함께 사용되는 애플리케이션별 PackWebRequest 인스턴스의 컬렉션을 나타냅니다.Represents a collection of application-specific Package instances used in combination with PackWebRequest.

public ref class PackageStore abstract sealed
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public static class PackageStore
type PackageStore = class
Public Class PackageStore
상속
PackageStorePackageStorePackageStorePackageStore
특성

설명

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. (호출할 필요가 없습니다 AddPackageRemovePackage XPS 패키지를 사용 하 여 열에 대해 별도로 XpsDocument 생성자입니다.)(You do not need to call AddPackage or RemovePackage separately for XPS packages opened with XpsDocument constructors.)

통해 액세스 하는 패키지의 파일 I/O 권한을 PackageStore 열릴 때 패키지에 대해 설정 된 I/O 사용 권한에 동일 하 게 유지 합니다.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) AddPackage(Uri, Package) AddPackage(Uri, Package) AddPackage(Uri, Package)

추가 된 Package 저장소에 있습니다.Adds a Package to the store.

GetPackage(Uri) GetPackage(Uri) GetPackage(Uri) GetPackage(Uri)

반환 된 Package 지정 된 URIURI 저장소에서 합니다.Returns the Package with a specified URIURI from the store.

RemovePackage(Uri) RemovePackage(Uri) RemovePackage(Uri) RemovePackage(Uri)

제거 합니다 Package 지정 된 URIURI 저장소에서 합니다.Removes the Package with a specified URIURI from the store.

적용 대상

추가 정보