2012-02-13 52 views
4

在我的WP7的應用程序,我做:模擬器上的隔離存儲器總是空的?

string userName = IsolatedStorageSettings.ApplicationSettings.Contains("UserName") ? IsolatedStorageSettings.ApplicationSettings["UserName"].ToString() : null; 
if (string.IsNullOrEmpty(userName)) 
    IsolatedStorageSettings.ApplicationSettings["UserName"] = "test"; 

我啓動我的應用程序(F5),關過程中,用戶名是空的,所以它的存儲在獨立存儲。

我停止我的應用程序(停止調試),我不要靠近模擬器

重新啓動我的應用程序(F5),但仍是空的。

我讀過隔離存儲應該在仿真器沒有關閉時保留。

我在做什麼錯?

在此先感謝您的回答。

+2

您是否嘗試過正常退出應用程序? (通過在模擬器中按下後退按鈕,而不是在Visual Studio中按'停止'按鈕)。我認爲應用程序退出時會保存'IsolatedStorageSettings.ApplicationSettings'的內容。 Visual Studio的「停止」按鈕會終止應用程序,因此會阻止保存代碼的運行。 – 2012-02-13 16:44:51

+0

你的權利,它的工作。事實上,我通過拋出異常退出了我的應用程序,並且我沒有耐心等待應用程序結束。謝謝,不想回答,那麼我可以標記爲答案? – Tim 2012-02-13 17:02:56

+0

當然,我們去了;) – 2012-02-13 19:58:39

回答

4

您是否嘗試過正常退出應用程序? (通過在模擬器中按下後退按鈕,而不是在Visual Studio中按'停止'按鈕)。我認爲應用程序退出時保存了IsolatedStorageSettings.ApplicationSettings的內容。 Visual Studio的「停止」按鈕會終止應用程序,因此會阻止保存代碼的運行。

6

您還需要調用

IsolatedStorageSettings.ApplicationSettings.Save(); 

你已經改變了設置後。