격리된 저장소 (IsolatedStorage)




표준 윈도우즈 응용프로그램은 컴퓨터의 사용자 권한이 허용하는 모든 자원에 접근할 수 있기 때문에 파일이나 레지스트리에 상태 정보를 저장한다.

하지만 닷넷 프레임워크는 (isolated storage) 기술을 사용한다. 예제는 다음과 같다.

IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream("myFile", 
          FileMode.Create, f))
using (StreamWriter writer = new StreamWriter(stream))
{
    foreach (TreeViewItem item in favoritesItem.Items)
    {
        writer.WriteLine(item.Tag as string);
    }
}


IsolatedStorageFile.GetUserStoreForAssembly()는 호출 코드의 어셈블리 ID에 해당하는 사용자 범위의 격리된 저장소를 가져오고 격리된 저장소에 저장된 모든 데이터는 물리적으로 내문서 폴더에 숨김 속성으로 자리 잡는다.



1. IsolatedStorage 의 파일 읽기
IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream("myFile", FileMode.OpenOrCreate, f))
using (StreamReader reader = new StreamReader(stream))
{
    string line = reader.ReadLine();
    while (line != null)
    {
         line = reader.ReadLine();
     }
}


2. IsolatedStorage 에 파일 저장
IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream("myFile", FileMode.Create, f))
using (StreamWriter writer = new StreamWriter(stream))
{
    writer.WriteLine("Add String");
}





참고1.
http://msdn.microsoft.com/ko-kr/library/system.io.isolatedstorage.isolatedstoragefile(VS.95).aspx
※ 뭐니뭐니 해도 최고의 도움말은 MSDN



참고 2.
http://www.1bit.kr/bbs/cstips/page/56
※ .NET Framework 1.0 에서의 IsolatedStorage 사용법에 대해 설명한 글이다.
    설명대로 라면 .NET Framework 2.0 에서 많은 부분이 변경 되었다고 한다.
    현재 .NET Framework 3.5 까지 나온 상황에서 어디까지 확장 되었는지는 모르겠지만
    참고가 될 만한 자료이다.



참고 3.
http://dhdh1.springnote.com/pages/1914994.xhtml
※ 예제 코드를 보니 "애덤 네이선의 WPF 언리쉬드" 책의 예제이다.
    간단한 설명 정도?!
Posted by six605
,