IsolatedStorage设置文件不是在首次访问时创建的

时间:2012-03-01 21:51:39

标签: c# windows-phone-7 reference isolatedstorage

我尝试做那样的事情:

private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        var settings = IsolatedStorageSettings.ApplicationSettings;
        if (!settings.Contains("init"))
        {
            createStorage();
        }
     }
 public void createStorage()
    {
        var settings = IsolatedStorageSettings.ApplicationSettings;
        settings.Add("x", "randomtext");
        settings.Add("init", true);
    }

然后我尝试将变量引用到类中的独立存储:

public string x = (string)IsolatedStorageSettings.ApplicationSettings["x"];

但似乎app_launching是在类变量之后加载的,所以我得到一个keyNotFound-exception。

我该怎么处理?将擦除2个方法,当应用程序崩溃时,存储数据。 此外,由于它,app_launching过程会加速。

所以,我怎么能处理这个?

感谢 roqstr

1 个答案:

答案 0 :(得分:3)

将隔离的存储设置检查在构造函数中...而不是'应用程序启动事件':

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;

public MainPage()
{
    InitializeComponent();
    createStorage();
}

public void createStorage()
{
    if (!settings.Contains("init"))
    {
        settings.Add("x", "randomtext");
        settings.Add("init", true);
    }
    settings.Save();      
}