在本地存储大量数据

时间:2012-09-05 23:53:06

标签: asp.net memory-management

我对ASP.NET很有经验,但我的一些知识有点不稳定。我正在创建一个使用服务来获取大部分数据的应用程序。然后我想用LINQ过滤它到我需要的东西。这些数据很少改变,但我知道它太多适合Session。

如何在内存中存储很少变化的大量数据?这适用于Application变量吗?

2 个答案:

答案 0 :(得分:1)

您可以存储大量相当静态的数据:

  • HttpContext.Cache
  • 在C#类的私有静态字段中。使用可以初始化静态字段的public get属性包装变量。当应用程序首次启动时,以及任何时候IIS回收应用程序域时,都需要初始化静态字段。

<强> HttpContext.Cache

Pro的

  • 可配置的缓存过期策略。
  • 专为ASP.Net环境而设计

精读的

静态字段

Pro的

  • 完成用户对缓存过期的控制。

精读的

  • 必须明确编程任何缓存过期。没有内置的到期支持。

答案 1 :(得分:1)

不要缓存源数据,而应考虑通过ASP.NET输出缓存或memcached使用HTTP缓存来存储渲染的输出本身。可以调整ASP.NET OutputCache以处理特定的ASP.NET资源,如果需要,有许多方法可以显式地使缓存无效。有关详细信息,请参阅以下MSDN资源。

ASP.NET Caching Overview

Output Cache Configuration

OutputCache Attribute for ASP.NET MVC