다음을 통해 공유


방법: 격리된 저장소의 저장소 가져오기

업데이트: 2007년 11월

저장소는 데이터 컴파트먼트 내에서 가상 파일 시스템을 노출합니다. IsolatedStorageFile은 저장소와 상호 작용하는 데 필요한 여러 가지 메서드를 제공하며 저장소를 만들고 검색하기 위해 IsolatedStorageFile은 세 가지 정적 메서드를 제공합니다. GetUserStoreForAssembly 또는 GetUserStoreForDomain을 호출하면 각각 사용자 및 어셈블리별로 격리된 저장소와 사용자, 도메인 및 어셈블리별로 격리된 저장소가 반환됩니다. 이 두 메서드는 자신이 호출되는 코드 블록에 속하는 저장소를 검색합니다. GetStore 정적 메서드는 범위 매개 변수 조합을 전달하여 지정되는 격리된 저장소를 반환합니다. 다음 매개 변수는 사용자, 어셈블리 및 도메인별로 격리된 저장소를 반환합니다.

Dim isoStore As IsolatedStorageFile
isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);

GetStore 메서드를 사용하여 로밍 사용자 프로필과 함께 저장소를 로밍하도록 지정할 수 있습니다. 설정 방법에 대한 자세한 내용은 격리된 저장소와 로밍을 참조하십시오.

다른 어셈블리 내에서 가져온 격리된 저장소는 기본적으로 서로 다릅니다. 다른 어셈블리 또는 도메인 증명을 GetStore 메서드의 마지막 두 매개 변수로서 전달하여 다른 어셈블리 또는 도메인의 저장소에 액세스할 수 있습니다. 이렇게 하려면 응용 프로그램 도메인 ID로 격리된 저장소에 액세스할 수 있는 권한이 필요합니다. 자세한 내용은 GetStore 메서드를 참조하십시오. 어셈블리에 대한 자세한 내용은 어셈블리를 참조하십시오.

이 세 가지 메서드는 각각 IsolatedStorageFile 개체를 반환합니다. 어떤 격리 유형을 사용하는 것이 가장 적절한지를 결정하려면 격리 유형을 참조하십시오. 격리된 저장소 파일 개체를 가지고 있으면 격리된 저장소 메서드를 사용하여 파일과 파일 디렉터리 읽기, 쓰기, 만들기 및 삭제 작업을 수행할 수 있습니다.

코드가 저장소 자체를 가져올 수 있는 권한이 없는 코드에 IsolatedStorageFile을 전달하지 못하도록 하는 메커니즘은 없습니다. 도메인과 어셈블리 ID 및 격리된 저장소 권한은 일반적으로 GetUserStoreForAssembly, GetUserStoreForDomain 또는 GetStore 메서드에서 IsolatedStorage 개체에 대한 참조를 가져오는 경우에만 검사합니다. 따라서 이러한 참조를 사용하는 코드는 IsolatedStorageFile 개체에 대한 참조를 보호해야 합니다.

ObtainingAStore 예제

다음 코드 예제는 사용자 및 어셈블리별로 격리된 저장소를 가져오는 클래스에 대한 아주 간단한 예제입니다. GetStore 메서드가 전달하는 인수에 IsolatedStorageScope.Domain을 추가하면 사용자, 도메인 및 어셈블리별로 격리된 저장소를 검색하도록 코드를 변경할 수 있습니다.

코드를 실행한 후 명령줄에 StoreAdm /LIST를 입력하여 저장소가 만들어졌는지 확인할 수 있습니다. 이렇게 하면 격리된 저장소 관리 도구(Storeadm.exe)가 실행되어 현재 격리된 저장소가 모두 나열됩니다. Storeadm.exe에 대한 자세한 내용은 격리된 저장소 도구를 참조하십시오.

Imports System
Imports System.IO.IsolatedStorage

Public Module modmain

    Sub Main()

        ' Dimension a new IsolatedStorageFile.

        Dim isoStore As IsolatedStorageFile

        ' Set the IsolatedStorageFile to a store isolated by user and
        ' assembly.

        isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly, Nothing, Nothing)

    End Sub
End Module
using System;
using System.IO.IsolatedStorage;

public class ObtainingAStore{
    public static void Main(){

        // Get a new isolated store for this assembly and put it into an
        // isolated store object.

        IsolatedStorageFile isoStore =  IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);

    }
}

참고 항목

개념

격리 유형

참조

IsolatedStorageFile

IsolatedStorageScope

기타 리소스

격리된 저장소 작업 수행

공용 언어 런타임의 어셈블리