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 및 애플리케이션에서 직접. 패키지의 데이터에 액세스할 때 요청 PackagePartUriPackage 주소가 먼저 확인되어 패키지가 이미 정의되어 있고 에서 열려 있는지 확인합니다PackageStore. 패키지가 에서 PackageStore열린 것으로 정의된 경우 요청된 파트는 각 요청에 대해 패키지를 반복적으로 열고 닫지 않고도 직접 액세스할 수 있습니다.

애플리케이션 사용 하 여 패키지를 열면 Package.Open, AddPackage 패키지를 추가 하기 위해 호출할 수는 PackageStore합니다. RemovePackage 를 호출하기 전에 에서 PackageStore 패키지를 제거하려면 나중에 를 호출 Package.Close해야 합니다.

생성자를 사용하여 연 XpsDocument XPS 패키지는 문서를 만들고 삭제할 때 에서 PackageStore 자동으로 추가 및 제거됩니다. (생성자를 사용하여 연 XpsDocument XPS 패키지에 대해 또는 RemovePackage 를 별도로 호출 AddPackage 할 필요가 없습니다.)

를 통해 PackageStore 액세스하는 패키지의 파일 I/O 권한은 패키지가 열릴 때 패키지에 설정된 I/O 권한과 동일하게 유지됩니다. PackageStore 는 저장소에 추가된 패키지에 대한 참조만 제공합니다. 그러면 애플리케이션이 올바르게 열기, 업데이트 및 각 패키지를 닫기 것입니다.

에 추가 PackageStore 된 패키지는 와 같은 XamlReader.LoadXAML 파서와 함께 사용될 때 다중 스레드 환경에서 액세스할 수 있습니다. 다중 스레드 환경에서 운영 하는 경우 애플리케이션에 액세스 하기 전에 패키지를 잠가야 합니다.

메서드

AddPackage(Uri, Package)

저장소에 Package를 추가합니다.

GetPackage(Uri)

저장소에서 지정된 URI의 Package를 반환합니다.

RemovePackage(Uri)

저장소에서 지정된 URI의 Package를 제거합니다.

적용 대상

추가 정보