다음을 통해 공유


PackageStore 클래스

정의

PackWebRequest함께 사용되는 애플리케이션별 Package 인스턴스의 컬렉션을 나타냅니다.

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. PackWebRequest통해 PackagePart 데이터에 액세스

  2. 패키지의 URI가 지정된 경우 Package 인스턴스를 가져오는 애플리케이션입니다.

  3. MemoryStream만들어 저장되는 패키지에 액세스합니다.

성능을 향상시키고 반복되는 파일 열기/닫기 작업의 오버헤드를 최소화하기 위해 PackageStorePackWebRequest 액세스하고 애플리케이션에서 직접 액세스하는 패키지의 인스턴스를 관리하는 데 사용됩니다. 패키지의 데이터에 액세스할 때 요청된 PackagePartUriPackage 주소가 먼저 확인되어 패키지가 이미 정의되어 있고 PackageStore열려 있는지 확인합니다. 패키지가 PackageStore열린 것으로 정의된 경우 요청된 파트는 각 요청에 대해 패키지를 반복적으로 열고 닫지 않고도 직접 액세스할 수 있습니다.

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

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

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

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

메서드

AddPackage(Uri, Package)

저장소에 Package 추가합니다.

GetPackage(Uri)

저장소에서 지정된 URI가 있는 Package 반환합니다.

RemovePackage(Uri)

저장소에서 지정된 URI가 있는 Package 제거합니다.

적용 대상

추가 정보