Tech/Silverlight2009. 3. 16. 17:48
참고 자료 

1. What is Isolated Storage?
2. Isolated Storage를 사용하여 Data 저장 / 불러오기
3. Isolated Storage를 사용하여 File 저장 / 불러오기
4. Isolated Storage 저장 공간 늘리기
5. Data와 File은 어디에 있을까?
6. IsolatedSettings.ApplicationSetting vs IsolatedSettings.SiteSettings


1. What is Isolated Storage?

응용 프로그램이 부분 신뢰 응용 프로그램에 대해 안전한 클라이언트측 가상 파일 시스템을 만들고 유지 관리하도록 할 수 있습니다. Silverlight에서 모든 I/O 작업은 격리된 저장소로 제한되며 운영 체제의 파일 시스템을 사용하지 않습니다. (Cache와 비슷한 개념이다. 단 Isolated Storage는 File Writing이 가능하다.)


2. Isolated Storage를 사용하여 Data 저장 / 불러오기


private IsolatedStorageSettings appSetting = IsolatedStorageSettings.ApplicationSettings;

private void Save()
{
if (!appSetting.Contains("UserName"))
{
appSetting.Add("UserName", string.Empty);
}

appSetting["UserName"] = "myiris12";
}

private void load()
{
if (appSetting.Contains("UserName"))
{
string userName = appSetting["UserName"].ToString();
}
}


3. Isolated Storage를 사용하여 File 저장 / 불러오기


private void write(object sender, RoutedEventArgs e)
{
IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();

StreamWriter sw = new StreamWriter(store.OpenFile("foo.txt", FileMode.Create));
sw.WriteLine(UserName.Text);
sw.Close();
}

private void read(object sender, RoutedEventArgs e)
{
IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();

StreamReader sr = new StreamReader(store.OpenFile("foo.txt", FileMode.Open));
string userName = sr.ReadToEnd();
sr.Close();
}


4. Isolated Storage 저장 공간 늘리기

- 새로 할당될 용량은 기존 확보한 용량보다 커야 함 (작거나 같으면 Exception이 발생한다)
- IsolatedStorageFile을 이용하여 현재 사용 가능한 용량과 전체 용량을 알 수 있다.

IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
현재 사용 가능한 용량_ store.AvailableFreeSpace
전체 용량 _ store.Quota

IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
store.IncreaseQuotaTo(10 * 1024 * 1024); // byte 단위로 용량을 산정한다.

- IncreaseQuotaTo 함수를 실행하면 다음과 같은 화면을 통해 용량을 늘릴 수 있다.


- 사용한 저장 공간과 전체 저장 공간은 Silverlight Application에서 오른쪽 클릭을 하여 나타나는 메뉴에서 확인할 수 있다.



5. Data와 File은 어디에 있을까?

6. IsolatedSettings.ApplicationSetting vs IsolatedSettings.SiteSettings

a. ApplicationSettings _ 응용 프로그램별, 컴퓨터별 및 사용자 설정별로 저장되며, 그 범위는 응용 프로그램 .xap 파일의 전체 경로를 통해 확인됩니다. 
b. SiteSettings _ 도메인별, 컴퓨터별 및 사용자 설정별로 저장되며, 그 범위는 응용 프로그램 .xap 파일을 호스팅하는 하위 도메인을 통해 확인됩니다.

예를 들어 http://domain/site1/application.xap의 응용 프로그램은 http://domain/site2/application.xap의 응용 프로그램과 다른 ApplicationSettings를 갖지만 두 응용 프로그램은 모두 동일한 하위 도메인에서 호스팅되므로 동일한SiteSettings를 공유합니다.

'Tech > Silverlight' 카테고리의 다른 글

Silverlight with WEB  (0) 2009.03.30
Loading Dynamic XAPs and Assemblies  (0) 2009.03.19
USING STARTUP PARAMETERS WITH SILVERLIGHT  (0) 2009.03.18
HTML BROWSER INTEGRATION  (0) 2009.03.16
Posted by 알 수 없는 사용자