在Silverlight中缓存静态类的数据

Ste*_*cya 7 c# silverlight caching

我有静态类,包含一些信息

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];
    }
}
Run Code Online (Sandbox Code Playgroud)

当我刷新页面时,我希望SampleDataCache保留其数据.

我能以简单的方式实现这一目标吗?

Gra*_*mas 4

由于当前形式的缓存存储在内存中,因此当页面刷新时,数据自然会被遗忘 - 这是从那里开始的应用程序的新实例。但是,您可能有兴趣利用独立存储来保存每个用户的数据。

通过隔离存储,您实际上拥有一个包含的文件系统,您可以在其中存储数据,然后进一步检索它。朝着正确方向迈出的一步可能是创建一个您想要表示“一块”缓存数据的类,使其可序列化,然后使用静态类作为缓存控制器,您可以从隔离存储中读取和写入这些对象。

快速入门:Silverlight 中的隔离存储