我有静态类,包含一些信息
public static class SampleDataCache
{
private static Dictionary<string,SampleData> cacheDict = new Dictionary<string,object>()
public static Get(string key)
{
if(!cacheDict.Contains[key])
cacheDict.Add(key,new SampleData());
return cacheDict[key];
}
}
当我刷新页面时,我希望SampleDataCache保留其数据.
我能以简单的方式实现这一目标吗?
解决方法
由于缓存以其当前形式存储在内存中,因此当页面刷新时数据自然会被遗忘 – 这是从那里开始的应用程序的新实例.但是,您可能有兴趣利用隔离存储来保持每个用户的数据.
使用独立存储,您基本上拥有一个包含的文件系统,您可以在其中存储数据,然后进一步检索它.正确方向的一个步骤可能是创建一个您想要表示缓存数据“片段”的类,使其可序列化,然后使用静态类作为缓存控制器,您可以从隔离存储读取和写入这些对象.
Quickstart: Isolated Storage in Silverlight