c# - 在 Silverlight 中缓存静态类的数据

标签 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];
    }
}

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

我可以用简单的方法实现吗?

最佳答案

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

使用隔离存储,您基本上拥有一个包含的文件系统,您可以在其中存储数据,然后进一步检索它。朝着正确方向迈出的一步可能是创建一个类来表示缓存数据的“片段”,使其可序列化,然后使用静态类作为缓存 Controller ,您可以从隔离存储读取这些对象以及将这些对象写入隔离存储。

Quickstart: Isolated Storage in Silverlight

关于c# - 在 Silverlight 中缓存静态类的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018410/

相关文章:

asp.net-mvc - 在 ASP.NET MVC 应用程序中托管 WCF 服务?

c# - 在 Windows 应用商店应用程序的 TextBlock 和 PasswordBox 中垂直和水平居中文本

Silverlight 和 SSL 客户端证书

php - 为访问者开发后清除缓存

c# - NHibernate 带来旧数据

java - webelement element=driver.findelement(By.id ("")) 中的 driver.findelementby(By.id ("")) 是什么

c# - 关于将嵌套/分层对象的字段映射到平面列表的意见?

c# - 具有内置 WebKit 页面预览的 Web 开发应用程序

c# - Parallel.ForEach 最后没有线程

ruby-on-rails - Rails 4.2 片段缓存不起作用