Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 8.1 LocalSettings和IsolatedStorageSettings之间的差异_Windows Phone 8.1_Isolatedstorage_Application Data - Fatal编程技术网

Windows phone 8.1 LocalSettings和IsolatedStorageSettings之间的差异

Windows phone 8.1 LocalSettings和IsolatedStorageSettings之间的差异,windows-phone-8.1,isolatedstorage,application-data,Windows Phone 8.1,Isolatedstorage,Application Data,我正在构建一个Windows Phone 8.1 Silverlight应用程序。我可以使用以下两个注册表: Windows.Storage.ApplicationData.Current.LocalSettings; IsolatedStorageSettings.ApplicationSettings; 这两者有什么不同 哪一个更好 Windows.Storage.ApplicationData.Current.LocalSettings和IsolatedStorageSettings.

我正在构建一个Windows Phone 8.1 Silverlight应用程序。我可以使用以下两个注册表:

Windows.Storage.ApplicationData.Current.LocalSettings;

IsolatedStorageSettings.ApplicationSettings;
  • 这两者有什么不同
  • 哪一个更好

  • Windows.Storage.ApplicationData.Current.LocalSettings
    IsolatedStorageSettings.ApplicationSettings
    之间的区别在于,前者是较新的统一Windows应用商店应用程序API,而后者则来自“旧的”Silverlight API


    新的并不总是更好,但我个人认为你们应该在这里。两者都可以使用Silverlight,但是如果您必须将代码迁移到WinRT,您将节省一些时间,因为
    IsolatedStorageSettings
    API不能在WinRT下工作。

    使用这两种设置有很大的不同:

    • 工作方式类似于字典,它被序列化并保存到IsolatedStorageFile:

      IsolatedStorageSettings提供了一种方便的方法,可以将特定于用户的数据作为键值对存储在本地IsolatedStorageFile中

      还要注意,必须保存隔离存储设置。保存后,您将在应用程序的独立存储中找到一个文件\uuuu ApplicationSettings

    • 这是一个很好的例子。一旦你在那里添加了一个值,它就会自动保存。这是模型

    所以,它们是完全不同的东西,若你们把密钥添加到上面的设置中,那个么它不会在第二秒内自动出现。考虑两个按钮:

    常量字符串firstKey=“firstKey”; 常量字符串secondKey=“secondKey”; IsolatedStorageSettings isoSetting=IsolatedStorageSettings.ApplicationSettings; ApplicationDataContainer localSetting=ApplicationData.Current.LocalSettings; 私有无效按钮\u单击(对象发送者,路由目标e) { isoSetting.Add(firstKey,true); localSetting.Values[secondKey]=false; //isoSetting.Save();//必须保存IsolatedStorage设置 WriteLine(“是LocalSettings:{0}”中的第一个键,localSetting.Values.ContainsKey(firstKey)); WriteLine(“是应用程序设置中的第一个键:{0}”,isoSetting.Contains(firstKey)); WriteLine(“是LocalSettings:{0}”中的第二个键,localSetting.Values.ContainsKey(secondKey)); WriteLine(“是ApplicationSettings:{0}”中的第二个键),isoSetting.Contains(secondKey)); } 私有无效按钮\u单击2(对象发送者,路由目标) { //在应用程序重新启动后运行此按钮,无需单击第一个按钮 //和保存IsoSettings WriteLine(“是LocalSettings:{0}”中的第一个键,localSetting.Values.ContainsKey(firstKey)); WriteLine(“是应用程序设置中的第一个键:{0}”,isoSetting.Contains(firstKey)); WriteLine(“是LocalSettings:{0}”中的第二个键,localSetting.Values.ContainsKey(secondKey)); WriteLine(“是ApplicationSettings:{0}”中的第二个键),isoSetting.Contains(secondKey)); } 如果我正在编写一个新的应用程序,那么我将使用新的ApplicationData.LocalSettings API—它比较新,将来将更容易将这样的应用程序移植到运行时,因为WP8.1 RT不支持隔离存储设置