使用WPF在磁盘上存储键/值对

Chr*_*Rae 7 c# wpf

我有一堆我想为我的WPF应用程序缓存的键/值对.在Silverlight中,这非常简单 - 我可以这样做:

IsolatedStorageSettings userSettings = IsolatedStorageSettings.ApplicationSettings;
wombat = (string)userSettings["marsupial"];
Run Code Online (Sandbox Code Playgroud)

在WPF中有这样的东西吗?袋熊可能不是有袋动物,现在我想一想.那里需要一些工作.

编辑:我想如果我可以避免将这些数据串行化,那么将会有大量的数据包含大量数据(我正在缓存网页).

Tho*_*que 13

IsolatedStorageSettings不会在.NET Framework的桌面版本存在,它是唯一可用在Silverlight.但是,您可以IsolatedStorage在任何.NET应用程序中使用; 只需将a序列化为Dictionary<string, object>隔离存储中的文件.

var settings = new Dictionary<string, object>();
settings.Add("marsupial", wombat);

BinaryFormatter formatter = new BinaryFormatter();
var store = IsolatedStorageFile.GetUserStoreForAssembly();

// Save
using (var stream = store.OpenFile("settings.cfg", FileMode.OpenOrCreate, FileAccess.Write))
{
    formatter.Serialize(stream, settings);
}

// Load
using (var stream = store.OpenFile("settings.cfg", FileMode.OpenOrCreate, FileAccess.Read))
{
    settings = (Dictionary<string, object>)formatter.Deserialize(stream);
}

wombat = (string)settings["marsupial"];
Run Code Online (Sandbox Code Playgroud)


Rit*_*ton 6

如果通过WPF,你的意思是完整的.Net运行时,那么是的.使用WPF项目模板创建了一个默认的Settings类. 设置类