【问题标题】:cache a list of data asp.net c#缓存数据列表asp.net c#
【发布时间】:2011-02-27 21:43:22
【问题描述】:

我想实现从数据库中提取的列表的缓存。我看过这个:

How can I cache objects in ASP.NET MVC?

我的代码中有这个:

var addresses =  repository.GetAllAddresses();//returns IQueryable<string>

使用上面问题中的答案,我如何缓存这个?,我创建了 CacheExtensions 类,但不知道从那里去哪里。

【问题讨论】:

    标签: c# asp.net caching


    【解决方案1】:

    一旦你有了扩展方法,使用它就很简单了(不要忘记通过向包含它的命名空间添加 using 指令将你定义 GetOrStore 方法的静态类带入作用域,否则你不会'看不到GetOrStore&lt;T&gt;扩展方法):

    IEnumerable<string> addresses = HttpRuntime
        .Cache
        .GetOrStore<IEnumerable<string>>(
            "addresses", 
            () => repository.GetAllAddresses().ToArray()
    );
    

    注意事项:

    • 我们使用“addresses”作为缓存键,因此结果将存储在此键下。
    • 我们在IQueryable&lt;string&gt; 上调用.ToArray() 是为了急切地获取地址并将结果存储到缓存中而不是查询中。

    【讨论】:

      猜你喜欢
      • 2012-11-04
      • 1970-01-01
      • 2011-03-27
      • 2011-07-19
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多